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

Dhawal updated CXF-7246:
------------------------
    Description: 
Hello,

We put few information(usually request header information) in Message through 
RequestHandler by doing 
PhaseInterceptorChain.getCurrentMessage.getExchange.put("","");  

But when we create a new Threads from the thread which brings in request to the 
controller, those objects which are put in the Exchange are not available to 
new threads.  The PhaseInterceptorChain has Message object which is ThreadLocal 
so the objects are not available to subsequent threads which are created so 
exploiting parallelism is quite painful once we store something in Exchange 
object. 

As a suggestion can we have Message object as optional between ThreadLocal and 
InheritableThreadLocal and via a configuration we can set that do we need to 
make available Message object to child threads. 

Thanks,
Dhawal Patel

  was:
Hello,

We put few information in Message through RequestHandler by doing 
PhaseInterceptorChain.getCurrentMessage.getExchange.put("","");  

But when we create a new Threads from the thread which brings in request to the 
controller, those objects which are put in the Exchange are not available to 
new threads.  The PhaseInterceptorChain has Message object which is ThreadLocal 
so the objects are not available to subsequent threads which are created so 
exploiting parallelism is quite painful once we store something in Exchange 
object. 

As a suggestion can we have Message object as optional between ThreadLocal and 
InheritableThreadLocal and via a configuration we can set that do we need to 
make available Message object to child threads. 

Thanks,
Dhawal Patel


> PhaseInterceptorChain's Message is not passed to child threads. 
> ----------------------------------------------------------------
>
>                 Key: CXF-7246
>                 URL: https://issues.apache.org/jira/browse/CXF-7246
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.6.14
>            Reporter: Dhawal
>
> Hello,
> We put few information(usually request header information) in Message through 
> RequestHandler by doing 
> PhaseInterceptorChain.getCurrentMessage.getExchange.put("","");  
> But when we create a new Threads from the thread which brings in request to 
> the controller, those objects which are put in the Exchange are not available 
> to new threads.  The PhaseInterceptorChain has Message object which is 
> ThreadLocal so the objects are not available to subsequent threads which are 
> created so exploiting parallelism is quite painful once we store something in 
> Exchange object. 
> As a suggestion can we have Message object as optional between ThreadLocal 
> and InheritableThreadLocal and via a configuration we can set that do we need 
> to make available Message object to child threads. 
> Thanks,
> Dhawal Patel



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

Reply via email to