I would like to know whether the JMS Adpater transaction can be rolled back.
I have scenario where
the insertion operation generates a error and rollbacks the BPEL transaction, but i cant see the dequed message back in Queue in EM
Is there any property i should configure to rollback the transaction of JMS adapter.
Any help or Idea would be appreciated.
Note: Also tried making adapter as synchronous but no result.
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.
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.