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

Daniel Kulp resolved CXF-1410.
------------------------------

    Resolution: Fixed

> Allow thread safe access to proxy with requestContext usage..
> -------------------------------------------------------------
>
>                 Key: CXF-1410
>                 URL: https://issues.apache.org/jira/browse/CXF-1410
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-WS Runtime
>    Affects Versions: 2.0.4
>            Reporter: Gary Tully
>            Assignee: Daniel Kulp
>            Priority: Minor
>             Fix For: 2.1
>
>         Attachments: mt_context.patch
>
>
> It should be possible to cache a proxy and provide thread safe access to it. 
> For example, the following code should work from multiple threads with 
> deterministic results:
>         Greeter greeter = // get cached proxy
>         InvocationHandler handler = Proxy.getInvocationHandler(greeter);
>         Map<String, Object> requestContext = 
> ((BindingProvider)handler).getRequestContext();
>         String threadSpecificaddress = // ... 
>         requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, 
> threadSpecificaddress);
> the proposal is to implement thread local request contexts and manage the 
> mapping from shared proxy request contexts to the thread local.The 
> synchronization point is on a call to getRequestContext. the return is a 
> snapshot of the current shared proxy request context map.
> The map is such that it will echo modifications into the shared map. But 
> further modifications to teh shared map will not be visible to the calling 
> thread until  subsequent getRequestContext call is made.
> In other words, an invoke works with a copy of the thread local context which 
> takes into account modifications to the shared context at the time of the 
> getRequestContextCall()

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to