Chapter 16. Resource Manager Configuration

HornetQ has its own Resource Manager for handling the lifespan of JTA transactions. When a transaction is started the Resource Manager is notified and keeps a record of the transaction and its current state. Sometimes, a transaction will be started and then forgotten. If this happens, the transaction will sit indefinitely. If configured, HornetQ can scan for old transactions and rollback any expired transactions. The default lifespan of a transaction is five minutes (or 3000000 milliseconds). That is, any transactions older than five minutes are removed.
This timeout lifespan can be changed by editing the transaction-timeout property in <JBOSS_HOME>/jboss-as/server/<PROFILE>/deploy/hornetq/hornetq-configuration.xml (value must be in milliseconds). The property transaction-timeout-scan-period configures how often, in milliseconds, to scan for old transactions.
Please note that HornetQ will not unilaterally rollback any XA transactions in a prepared state - this must be heuristically rolled back via the management API if you are sure they will never be resolved by the transaction manager.