There are some situations where the commit or rollback operations might be interrupted, typically because the server crashed or a resource manager crashed. Crash situations can leave some transactions stranded between steps. GlassFish Server is designed to recover from these failures and complete the transactions upon server startup. If the failed transaction spans multiple servers, the server that started the transaction can contact the other servers to get the outcome of the transaction. If the other servers are unreachable, the transaction uses heuristic decision information to determine the outcome. The transactions are resolved upon server startup.
Use the recover-transactions subcommand in remote mode to manually recover transactions that were pending when a resource on the server failed.
For a standalone server, do not use manual transaction recovery to recover transactions after a server failure. For a standalone server, manual transaction recovery can recover transactions only when a resource fails, but the server is still running. If a standalone server fails, only the full startup recovery process can recover transactions that were pending when the server failed.
Ensure that the server is running.
Remote subcommands require a running server.
Manually recover transactions by using the recover-transactions(1) subcommand.
This example performs manual recovery of transactions on sampleserver.
asadmin recover-transactions sampleserver Transaction recovered.
You can also view the full syntax and options of the subcommand by typing asadmin help recover-transactions at the command line.