cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aki Yoshida (Resolved) (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CXF-4060) oneway camel scenario is accessing the user principal too late, resulting in IllegalStateException
Date Tue, 24 Jan 2012 16:30:42 GMT

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

Aki Yoshida resolved CXF-4060.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.6
                   2.5.3
                   2.4.7
    
> oneway camel scenario is accessing the user principal too late, resulting in IllegalStateException
> --------------------------------------------------------------------------------------------------
>
>                 Key: CXF-4060
>                 URL: https://issues.apache.org/jira/browse/CXF-4060
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 2.4.6, 2.5.2
>         Environment: gemini.web.tomcat 2.0.1
>            Reporter: Aki Yoshida
>            Assignee: Aki Yoshida
>             Fix For: 2.4.7, 2.5.3, 2.6
>
>
> Camel-CXF looks up the user principal in Camel's DefaultCxfBinding over CXF's SecurityContext
object stored in the message.
> In the current implementation, the principal in this object is dynamically retrieved
from the associated servlet request object.
> Under some specific circumstances such as using tomcat with the JVM's security manager
enabled, the request object is recycled after the calling thread returns. This can lead to
the following exception for oneway call:
> java.lang.IllegalStateException: The request object has been recycled and is no longer
associated with this facade
> 	at org.apache.catalina.connector.RequestFacade.getUserPrincipal(RequestFacade.java:831)
~[na:na]
> 	at org.apache.cxf.transport.http.AbstractHTTPDestination$2.getUserPrincipal(AbstractHTTPDestination.java:304)
~[bundlefile:2.5.1]
> 	at org.apache.camel.component.cxf.DefaultCxfBinding.populateExchangeFromCxfRequest(DefaultCxfBinding.java:235)
~[bundlefile:2.8.3]
> 	at org.apache.camel.component.cxf.CxfConsumer$1.perpareCamelExchange(CxfConsumer.java:159)
~[bundlefile:2.8.3]
> 	at org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.java:117) ~[bundlefile:2.8.3]
> 	at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:71) ~[bundlefile:2.8.3]
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
~[na:na]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) ~[na:1.6.0_24]
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) ~[na:1.6.0_24]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138) ~[na:1.6.0_24]
> 	at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
~[bundlefile:2.5.1]
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
~[na:na]
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
~[bundlefile:2.5.1]
> 	at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:232)
~[bundlefile:2.5.1]
> 	at org.apache.cxf.interceptor.OneWayProcessorInterceptor$1.run(OneWayProcessorInterceptor.java:130)
~[na:na]
> 	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:371)
~[bundlefile:2.5.1]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
~[na:1.6.0_24]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) ~[na:1.6.0_24]
> 	at java.lang.Thread.run(Thread.java:662) ~[na:1.6.0_24]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message