This content has been marked as final. Show 6 replies
You have to use a XA data source on DbAdapter... the JCA adapters are transactional... The rollback should work, recheck your configuration...
Have a look at this thread...
SOA Composite dequeue not removing message from the queue.
Try following the below steps:-
1) Configure all BPEL processes with bpel.config.transaction=required in composite.xml.
2) Modify the generated WSDL file for the AQ or JMS adapter and add an output message, making it synchronous.
3) Configure the AQ or JMS adapter with jca.retry.all=true in composite.xml.
4) Use an XA data source.
What would you expect?
If there is an error on de delivering side of the process, should the message become available in de consuming queue again? If so, then that same message would be dequeued again as it is the first message to be dequeued. In that situation you would come in a kind of deadlock: each time, the message is dequeued it would error, the message would be placed on the queue again but will then be dequeued again, resulting in the same error.
So for this situation you have to take measurements. Think of error queues and so on. If the expectation is that the problem can be resolved when retrying, then specify more retries.