This content has been marked as final.
Show 3 replies
-
1. Re: Should completion participants still be notified if the
marklittle May 23, 2007 2:46 PM (in response to ivanneto)WS-AT is no different to other ACID protocols, such as JTA or JTS/OTS: in a distributed environment the coordinator does not keep a reference to the initiator. If the initiator needs to reliably know the outcome of the transaction then it must register as a Durable participant (in the case of WS-AT). Otherwise, if the coordinator fails then the initiator will get an error and not know the final outcome. That may then be determined using some out-of-band approach.
-
2. Re: Should completion participants still be notified if the
ivanneto May 23, 2007 4:27 PM (in response to ivanneto)Hi Mark!
"mark.little@jboss.com" wrote:
WS-AT is no different to other ACID protocols, such as JTA or JTS/OTS: in a distributed environment the coordinator does not keep a reference to the initiator. If the initiator needs to reliably know the outcome of the transaction then it must register as a Durable participant (in the case of WS-AT). Otherwise, if the coordinator fails then the initiator will get an error and not know the final outcome. That may then be determined using some out-of-band approach.
I understood from what you said that if the coordinator fails, then the initiator will wait until a timeout occurs. Is this right? In the OTS case, an exception would be thrown, as the initiator would be blocked until the transaction outcome arrives (synchronous calls). But in the WS-AT realm, the initiator isn't blocked, as the communication is made asynchronously. So, in the WS-AT scenario, if the coordinator doesn't signal the transaction outcome to the initiator (due to a failure, for instance), the latter will wait until a timeout occurs. Is this what should happen?
Thanks. -
3. Re: Should completion participants still be notified if the
marklittle May 24, 2007 7:55 AM (in response to ivanneto)"ivanneto" wrote:
I understood from what you said that if the coordinator fails, then the initiator will wait until a timeout occurs. Is this right? In the OTS case, an exception would be thrown, as the initiator would be blocked until the transaction outcome arrives (synchronous calls). But in the WS-AT realm, the initiator isn't blocked, as the communication is made asynchronously. So, in the WS-AT scenario, if the coordinator doesn't signal the transaction outcome to the initiator (due to a failure, for instance), the latter will wait until a timeout occurs. Is this what should happen?
Pretty much, yes. However, the specification is deliberately silent on this, so implementations are free to do whatever they want (within reason).