Fixed cleanup of resources when writing a new epoch file, to avoid exceptions under abnormal operating conditions.
Transactions with only 1 participant (or resource) will resort to 1-phase commit and there is no way to recover their state. Therefore, logging adds useless overhead and is now avoided.
We now try to avoid unnecessary and annoying HeuristicHazard outcomes and dito retries, by doing extra checks in the XAResource backend whenever possible.
Fixed a deadlock condition when multiple threads use the same JMS connection, each in its own session.