Query on bpel.config.OneWayDelivery Property
Hello,
I have a query on bpel.config.OneWayDelivery Property.
Scenario : In case of any error in BpelProcess A , it will call BpelProcess B .So BpelProcessB will be called in the catchAll branch of Process A. After calling Process B, i am throwing a fault in Process A to rollback process A (as there is a DB adpater in it which i want to roll back). To invoke Process B in a separate transaction i set the bpel.config.transaction to requires new in the component section of composite.xml of process B. Please not Process B is ASynchronous process. Now :
Case 1: By setting only bpel.config.transaction property to 'requiresnew'.
Process A gets error, it calls Process B and it itself get rolledback (because of throw activity after a call to Process B). Now in the instance of Process A i am not able to see the trace of Process B. Only Process B name is appearing, also Process B didn't get executed at all or might be rolledback along with process A (not sure on this).
Case 2: By setting only bpel.config.transaction property to 'requiresnew' and bpel.config.OneWayDelivery property to 'sync'.
In this case everything works fine like Process A call Process B in case of Error. Process A get rolledback successfully and i am able to see the trace of Process B as it get executed successfully.
Questions :
In case1 though i have set the transaction=requiresnew, why Process B is not getting executed and i am not able to see the trace of it.Ideally Process B should get executed in a seperate transaction. While in Case2, everything works fine. So what exactly happening after placing 'OnewayDelivery' Property, that it started working.
I have went through the documents on 'OnewayDelivery', but i didn't get the clear idea corresponding to my scenarios explained above.
Can anyone please explain on how exactly 'OnewayDelivery' property works.
Thanks.