The first thing that comes to mind while testing the transaction management using 1 way Bpel is its Asynchronous and Transaction will not span across process.
However there are good amount of properties that actually impacts this , here are the properties from Dev guide that will actually makes lot of difference :
http://docs.oracle.com/cd/E21764_01/integration.1111/e10224/soa_transactions.htm#CHDHEAIC
- onewayDeliveryPolicy=async.persist
- onewayDeliveryPolicy=sync and transaction=requiresNew
- onewayDeliveryPolicy=sync and transaction=required
These properties doesn't actually behaves as it seems from there name :
transaction=requiresNew , This works in combination with onewayDeliveryPolicy=sync if we want the callee BPEL to execute in a different Transaction and all the BPEL involved will work in there atomic boundaries.
We also got confused with other Partner link properties :
idempotent = false
startnonblockinginvoke = true
These will force the Callee bpel to start a new transaction but will force the caller to dehyderate and commit the transaction before calling the second process.
Bottom Line : Use these properties with caution and as per your requirement.
No comments:
Post a Comment