[ 
https://issues.apache.org/jira/browse/CXF-7309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15953182#comment-15953182
 ] 

ASF GitHub Bot commented on CXF-7309:
-------------------------------------

Github user sberyozkin commented on a diff in the pull request:

    https://github.com/apache/cxf/pull/253#discussion_r109372768
  
    --- Diff: 
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java 
---
    @@ -1167,10 +1161,12 @@ public static void injectContextMethods(Object 
requestObject,
                     if (!cri.isSingleton()) {
                         InjectionUtils.injectThroughMethod(requestObject, 
method, o, message);
                     } else {
    -                    ThreadLocalProxy<Object> proxy 
    -                        = 
(ThreadLocalProxy<Object>)cri.getContextSetterProxy(method);
    +                    Object proxy = extractFromSetter(requestObject, 
method);
    +                    if (!(proxy instanceof ThreadLocalProxy)) {
    --- End diff --
    
    Hi, can you explain please why this check is done, what else can the proxy 
be, apart from null or ThreadLocalProxy ? Thanks


> JAX-RS @Context fields throw NPE in OSGI hot deployed filters
> -------------------------------------------------------------
>
>                 Key: CXF-7309
>                 URL: https://issues.apache.org/jira/browse/CXF-7309
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.0.12, 3.1.10
>            Reporter: Ezequiel Rosas Garcia
>
> Hello. 
> This happens with a PreMatching filter that is loaded from OSGI.
> I found that when the filter OSGI bundle is hot deployed, all other already 
> running bundles using it would start throwing NPE when trying to access the 
> injected fields inside the filter (like CXF-7248)
> This seems to happen due to other bundles retaining their ThreadLocal 
> references in their own AbstractResourceInfo#getSetterProxyMap() while the 
> OSGI Proxy starts redirecting to a new filter object which has new different 
> ThreadLocal references as soon as it is used for the first time after hot re 
> deployment.
> Test: 
> [Link](https://github.com/nhtzr/osgiee-web/blob/42faf2cbe0c54497ea706e97cd91a9ee8c29e020/src/test/java/mx/nhtzr/osgiee/web/internal/MyFilterTest.java)
> PR: [Link](https://github.com/apache/cxf/pull/253)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to