第16章 リソースマネージャーの設定
HornetQ は JTA トランザクションのライフスパンを処理する独自のリソースマネージャーを持ちます。トランザクションが開始された場合、リソースマネージャーは通知され、トランザクションのレコードと現在のステータスを保持します。場合によっては、トランザクションが開始され、忘れられることがあります。この場合は、トランザクションが無限に存在し続けます。設定された場合、HornetQ は古いトランザクションをスキャンし、期限が切れたすべてのトランザクションをロールバックします。トランザクションのデフォルトのライフスパンは、5 分 (つまり、3000000 ミリ秒) です。つまり、5 分前以前のすべてのトランザクションが削除されます。
このタイムアウトライフスパンは、
JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml
の transaction-timeout
プロパティを編集して変更できます (値はミリ秒単位である必要があります)。プロパティ transaction-timeout-scan-period
は、古いトランザクションをスキャンする頻度をミリ秒単位で設定します。
HornetQ 準備された状態のすべての XA トランザクションを一括してロールバックするわけではありません。これは、管理 API を使用してヒューリスティックにロールバックする必要があります (トランザクションマネージャーで解決できない場合)。