[jboss-user] [JBoss Web Services Development] New message: "Re: Parallel invocations of JaxWS services and getPort"
Richard Opalka
do-not-reply at jboss.com
Mon Feb 15 03:57:20 EST 2010
User development,
A new message was posted in the thread "Parallel invocations of JaxWS services and getPort":
http://community.jboss.org/message/526265#526265
Author : Richard Opalka
Profile : http://community.jboss.org/people/richard.opalka@jboss.com
Message:
--------------------------------------------------------------
Hi Andrew,
this is the problem of *broken by design JAX-WS specification*
*Explanation:*
One of the problems when reusing proxy concurently is JAX-WS specification allows you to set invocation related properties on the proxy using BindingProvider methods. Consider the following code:
public void configureSession(EchoService serviceProxy, boolean keepSession)
{
BindingProvider bp = (BindingProvider)serviceProxy; bp.getRequestContext().put( BindingProvider.SESSION_MAINTAIN_PROPERTY, keepSession );
}
If you would call above method on one proxy instance in e.g. 2 threads concurrently and each thread will set different keepSession policy, how would you implement this properly for the following scenario?
thread1.configureSession(proxy, true);
thread2.configureSession(proxy, false);
thread1.callService(proxy);
thread2.callService(proxy);
assertThereAreSessions(thread1);
assertThereAreNoSession(thread2);
Do you see what I mean?
*Suggestion:*
Create/use service proxy per thread, not reuse it for multiple threads
*Related issues:*
https://jira.jboss.org/jira/browse/JBWS-1519
https://jira.jboss.org/jira/browse/JBWS-2192
https://jira.jboss.org/jira/browse/JBWS-2681
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/526265#526265
More information about the jboss-user
mailing list