cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <>
Subject Re: Request/ResponseContext of JaxWsClientProxy
Date Fri, 04 May 2007 18:54:31 GMT

On Friday 04 May 2007 14:15, Jarek Gawor wrote:
> I have noticed that the RequestContext and ResponseContext of
> JaxWsClientProxy is associated with the thread and not the instance of
> the proxy. My understanding is that it should be associated with the
> instance but I can't find any specific documentation on this issue in
> the specs.

I was afraid this issue was going to come up.  :-(

Basically, there isn't a way to make the proxies thread safe without 
making them ThreadLocals.   The main problem this causes is that one 
thread cannot configure a global proxy that is then used on other 
threads.   The configuration is lost.   

The ResponseContext really needs to be ThreadLocal.   It's the context 
information for the last request.  If you have two threads making 
requests, if it wasn't local, you'd have no idea what the response 
correlated too.

For the request, there are a few options:
1) Keep it thread local - this is thread safe, but has the config issues.
2) Have a "default" one that is used until the first invoke on a thread.  
It then gets copied to the ThreadLocal.
3) Make it non-local - this has other concurrency issues. 

Definitely something I'll need to noodle on a bit more to figure out all 
the ramifications of the various options.

J. Daniel Kulp
Principal Engineer
P: 781-902-8727    C: 508-380-7194

View raw message