トランザクションの監視機能を有効にした場合、現在実行中のトランザクションの状態を監視できます。asadminコマンドのsetサブコマンドを使用してconfigs.config.monitoring-serviceの定義項目でトランザクションサービスの監視レベルをHIGHに指定します(LOWはサポートしません)。トランザクションの監視機能を無効にする場合は、OFFを指定します。詳細は、「10.1.4.2 setサブコマンド」を参照してください。
監視レベルを設定した場合、トランザクションの以下の状態が確認できます。トランザクションの状態の確認については、「10.1.4.1 getサブコマンド」を参照してください。
トランザクションのトランザクションIDが表示されます。
トランザクションの状態として以下のいずれかが表示されます。
Active : 実行中の状態
Preparing : 準備フェーズ実行中の状態
Prepared : 準備フェーズが完了した状態
Committing : コミット実行中の状態
MarkedRollback : ロールバックにマークされている状態
RollingBack : ロールバック中の状態
UnKnown : 状態が不明の状態
トランザクションが開始されてからの経過時間がミリ秒で表示されます。
トランザクションを開始したクラス名が完全修飾クラス名で表示されます。
注意
トランザクションを開始したアプリケーションがStateful Session Beanでjava.io.Serializableを実装していない場合、コンポーネント名は「パッケージ名._クラス名_Serializable」の形式で出力されます。
トランザクションに参加しているリソース名が表示されます。
トランザクションを監視している場合、異常が発生した実行中のトランザクションを以下の手順でロールバックにマークできます。ロールバックにマークされたトランザクションは、トランザクション終了時に必ずロールバックされます。
凍結
「freeze-transaction-serviceサブコマンド」を実行します。
ロールバックのマーク
「rollback-transactionサブコマンド」を実行します。
凍結解除
「unfreeze-transaction-serviceサブコマンド」を実行します。
凍結/凍結解除は必須ではありませんが、操作中にトランザクションが終了することを防ぐため、凍結/凍結解除することをお勧めします。コマンドを使用した操作については、「10.1 asadmin」を参照してください。