[ 
https://issues.apache.org/jira/browse/CXF-2893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Kulp resolved CXF-2893.
------------------------------

         Assignee: Daniel Kulp
    Fix Version/s: 2.2.10
       Resolution: Fixed

> CXF should use class' classloader for initialization of its loggers
> -------------------------------------------------------------------
>
>                 Key: CXF-2893
>                 URL: https://issues.apache.org/jira/browse/CXF-2893
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.2.9
>            Reporter: Hynek Mlnarik
>            Assignee: Daniel Kulp
>            Priority: Trivial
>             Fix For: 2.2.10
>
>         Attachments: patch.diff
>
>
> The class org.apache.cxf.common.logging.LogUtils should attempt to use plain 
> Class.forName(cname) if Class.forName(cname, true, 
> Thread.currentThread().getContextClassLoader()) fails.
> Rationale: Current thread might not be able to access cxf classes. Take as an 
> example the following OSGi bundles:
> 1) bundle with a http server.
> 2) bundle with CXF-based servlet SomeCXFServlet. The bundle contains CXF as 
> private OSGi library.
> A servlet SomeCXFServlet from bundle (2) has access to CXF via 
> SomeCXFServlet.class.getClassloader(), similarly LogUtils class via its 
> classloader. However, the servlet initialization is performed from http 
> server thread that does not have access to bundle (2) private classes. 
> Initialization of a logger is hence also made from the http thread. CXF tries 
> to load its org.apache.cxf.common.logging.*Logger classes - the attempt 
> however fails because the current thread's classloader is used instead of the 
> LogUtils'.
> Solution: Try to load the class using Class.forName(cname) if 
> Class.forName(cname, true, Thread.currentThread().getContextClassLoader()) 
> fails.
> Will attach diff in a separate comment

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to