----- Original Message -----
From: "Simon Nash" <n...@apache.org>
To: <dev@tuscany.apache.org>
Sent: Sunday, February 20, 2011 2:51 PM
Subject: Re: PolicyHandler exception handling issue -
PolicyHandler.afterInvoke() is not called when SOAPFault is generated
(UNCLASSIFIED)
Simon Nash wrote:
Gang Yang wrote:
--- Cut ---
Tuscany doesn't do any thread switching at the service end of this path.
At the reference end, a thread switch will happen if a one-way method is
invoked and the reference binding provider's supportsOneWayInvocation()
method returns false. Axis2ReferenceBindingProvider returns true from
supportsOneWayInvocation(), so you won't get any thread switching when
using this reference binding. I'm hoping that this workaround (with its
limitation on what reference bindings can be used) will be sufficient
to avoid the need to do a fix in 1.x.
Actually there is the possibility of a thread switch on the service side
as well. It happens between the service binding policy handler and the
service binding policy interceptor, so service binding policy interceptors
are guaranteed to run on the same thread as the implementation but service
binding policy handlers aren't. The thread switch happens only if a
one-way method is being invoked and the service binding provider's
supportsOneWayInvocation() method returns false. This thread switch
won't happen for the Axis2 binding, because the supportsOneWayInvocation()
method of Axis2ServiceBindingProvider returns true.
Simon
Hi, Simon,
Thanks for all the responses on a Sunday:-) and this detailed info. I think
we are blessed then since we are focussed on WS binding and Axis2 is the
only WS binding provider in 1.6.x.
Thanks again.
Gang