cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-7246) PhaseInterceptorChain's Message is not passed to child threads.
Date Wed, 29 Mar 2017 12:46:41 GMT

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

Daniel Kulp commented on CXF-7246:
----------------------------------

Just to follow up... if the user, within the scope of the request, calls out to some third
party library that may create threads as needed, then we would have no control over how the
data is inherited onto those threads.  For example, lets say the user forwards something onto
a JMS queue.   Making the JMS request COULD result in the JMS provider creating a thread for
processing responses and handling connections and such.   That thread would inherit the Message.
  However, that connection/thread may live longer than the servlet request and thus hold onto
that message for an unknown amount of time.  

> 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
>             Fix For: Invalid
>
>
> 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)

Mime
View raw message