Manually Resolving a Transaction
If Integration Server cannot resolve a transaction, you can try to resolve it manually. To successfully resolve a transaction manually, you must be familiar with the participating resources and must act in a way that leaves the transaction in a consistent state. For example, if only one of the participating resources committed the transaction, you can try to get the other participating resources to commit as well.
When you manually resolve a transaction, resolution is not itself a transaction; that is, each participating resource and the action you perform on it does not participate in a new 2PC transaction. You must therefore make sure your actions result in a consistent state for the participating resources.
To manually resolve an XA transaction
1. Open the Integration Server Administrator if it is not already open
2. In Integration Server Administrator, go to Settings > Resources and click XA Manual Recovery. Integration Server Administrator displays all of the unresolved XA transactions. For a description of the information displayed for each unresolved transaction, see About Unresolved XA Transactions. Note: Refresh the page at intervals to make sure all uncompleted transactions are listed. Suppose Integration Server tries to resolve an uncompleted transaction but cannot; the transaction will not be listed while Integration Server is trying to resolve it, but if you refresh the page later, the transaction will appear on the list.
3. In the XID column, click the XID for the transaction that you want to resolve. The Integration Server Administrator displays detailed information about the resources involved in the transaction. For a description of the information displayed for each participating resource, see Details for an Unresolved XA
Transaction. 4. If you want to delete the transaction, click the Delete Transaction link. Deleting the transaction removes the transaction from the XA recovery store.
You might want to simply delete a transaction if you do not want to resolve a transaction using Integration Server Administrator (for example, because you want to resolve the transaction by working with the resources directly).
5. If you want to resolve the transaction using Integration Server Administrator, select one of the following in the Desired Action column.
If you want to | Select |
You want to commit the transaction on the resource | Commit |
You want to roll back the transaction on the resource | Roll back |
The resource administrator heuristically committed or rolled back the transaction, so you want to erase the XID from the resource | Forget |
The resource administrator has already taken the correct action on the resource so you need take none, or the resource is down for an extended period | Do nothing |
Note: The Desired Action column lists the possible actions for each resource, based on the combination of the values for State and XID for the resource, and selects the most logical action by default.
6. Click Perform Action. Integration Server Administrator returns to the XA Manual Recovery screen and removes the transaction from the list of unresolved transactions.
Integration Server might receive and display an error from a resource. Errors can occur for these reasons:
The resource was not connected to
Integration Server, probably because the resource was down.
The resource has no knowledge of the transaction, possibly because it lost the 2PC transaction information.
The resource threw an exception.
The transaction involved a
webMethods adapter, and
Integration Server cannot locate the resource because someone deleted or changed the adapter connection node that pointed to the resource from
Software AG Designer.
You might have to force the transaction to a consistent state using the tools available on the resource itself.