Changing the state of an XA transaction branch

You might have to change the state of an XA transaction branch independently of the transaction manager. You can change the state of an XA transaction branch by using the Amlen WebUI or REST Administration APIs.

During normal XA transaction processing when Eclipse Amlen is acting as a resource manager in a DTP environment, the two-phase commit process is controlled by a transaction manager such as WebSphere® Application Server and Eclipse Amlen engages with the transaction manager to ensure completion of this process. There might be rare occasions when you need to change the state of an XA transaction branch independently of the transaction manager. The need for you to change the state of an XA transaction branch might arise after a loss of connectivity between Eclipse Amlen and the transaction manager when it is possible that XA transaction branches remain in prepared state or in a heuristically complete state.

If an XA transaction branch remains in prepared state, it prevents the XA transaction from reaching a consistent state and processing results become unpredictable; other transaction branches of the XA transaction in other resource managers may all have been committed or rolled back. Therefore, it is necessary to change the state of the XA transaction branch so that the transaction can reach a consistent state . You can either commit or roll back an XA transaction branch when it is in prepared state. You can also forget an XA transaction branch that remains in a heuristically complete state. You can apply a heuristic decision to commit, roll back, or forget an XA transaction branch by using the Amlen WebUI or REST Administration APIs..

Implement the heuristic decisions that you make only when you are certain that the transaction cannot be resolved by the normal protocols. Implementation might result in the loss of transactional integrity between Eclipse Amlen and other resource managers.