cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aki Yoshida (Created) (JIRA)" <>
Subject [jira] [Created] (CXF-4060) oneway camel scenario is accessing the user principal too late, resulting in IllegalStateException
Date Tue, 24 Jan 2012 15:46:40 GMT
oneway camel scenario is accessing the user principal too late, resulting in IllegalStateException

                 Key: CXF-4060
             Project: CXF
          Issue Type: Bug
          Components: Transports
    Affects Versions: 2.5.2, 2.4.6
         Environment: gemini.web.tomcat 2.0.1
            Reporter: Aki Yoshida
            Assignee: Aki Yoshida

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( ~[na:na]
	at org.apache.cxf.transport.http.AbstractHTTPDestination$2.getUserPrincipal(
	at org.apache.camel.component.cxf.DefaultCxfBinding.populateExchangeFromCxfRequest(
	at org.apache.camel.component.cxf.CxfConsumer$1.perpareCamelExchange(
	at org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke( ~[bundlefile:2.8.3]
	at org.apache.camel.component.cxf.CxfConsumer$1.invoke( ~[bundlefile:2.8.3]
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$
	at java.util.concurrent.Executors$ ~[na:1.6.0_24]
	at java.util.concurrent.FutureTask$Sync.innerRun( ~[na:1.6.0_24]
	at ~[na:1.6.0_24]
	at org.apache.cxf.workqueue.SynchronousExecutor.execute( ~[bundlefile:2.5.1]
	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(
	at org.apache.cxf.phase.PhaseInterceptorChain.resume( ~[bundlefile:2.5.1]
	at org.apache.cxf.interceptor.OneWayProcessorInterceptor$
	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( ~[na:1.6.0_24]
	at java.util.concurrent.ThreadPoolExecutor$ ~[na:1.6.0_24]
	at ~[na:1.6.0_24]

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message