Using the XAResource.prepare call causes a global transaction
to enter a prepared state, which allows it to be persistent. Typically, the
prepared state is just a transitional state before the transaction outcome
is determined. However, if the system crashes, recovery puts transactions
in the prepared state back into that state and awaits instructions from the
transaction manager.