19.2. トランザクション管理


19.2.1. トランザクションの参照と管理

管理 CLI では、トランザクションレコードを参照および操作する機能がサポートされます。この機能は、トランザクションマネージャーと JBoss EAP 6 の管理 API 間の対話によって提供されます。
トランザクションマネージャーは、保留中の各トランザクションとトランザクションに関連する参加者に関する情報を オブジェクトストア と呼ばれる永続ストレージに格納します。管理 API は、オブジェクトストアを log-store と呼ばれるリソースとして公開します。probe という API 操作はトランザクションログを読み取り、ログごとにノードを作成します。probe を更新する必要がある場合は、log-store コマンドを手動で呼び出すことができます。トランザクションログが即座に表示され非表示になるのは、正常な挙動です。

例19.1 ログストアの更新

このコマンドは、管理対象ドメインでプロファイル default を使用するサーバーグループに対してログストアを更新します。スタンドアローンサーバーの場合は、コマンドから profile=default を削除します。
/profile=default/subsystem=transactions/log-store=log-store/:probe

例19.2 準備済みトランザクションすべての表示

準備済みトランザクションをすべて表示するには、最初にログストアを更新し( 例19.1「ログストアの更新」を参照)、ファイルシステムの ls コマンドと同様に機能する以下のコマンドを実行します。
ls /profile=default/subsystem=transactions/log-store=log-store/transactions
各トランザクションが一意の識別子とともに表示されます。個々の操作は、各トランザクションに対して実行できます( トランザクションの管理を参照)。

トランザクションの管理

トランザクションの属性を表示します。
JNDI 名、EIS 製品名およびバージョン、ステータスなどのトランザクションに関する情報を表示するには、:read-resource CLI コマンドを使用します。
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:read-resource
トランザクションの参加者を表示します。
各トランザクションログには、participants と呼ばれる子要素が含まれます。この要素で read-resource CLI コマンドを使用して、トランザクションの参加者を確認します。参加者は JNDI 名によって識別されます。
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=java\:\/JmsXA:read-resource
結果は以下のようになります。
{
   "outcome" => "success",
   "result" => {
       "eis-product-name" => "HornetQ",
       "eis-product-version" => "2.0",
       "jndi-name" => "java:/JmsXA",
       "status" => "HEURISTIC",
       "type" => "/StateManager/AbstractRecord/XAResourceRecord"
   }
}
ここで示された結果は HEURISTIC 状態にあり、リカバリーの対象となります。詳細は、トランザクションをリカバリーします。 を参照してください。
特別な場合では、ログに対応するトランザクションレコードがないオーファンレコード (XAResourceRecords) をオブジェクトストアに作成できます。たとえば、準備済みの XA リソースが TM の記録前にクラッシュし、ドメイン管理 API はアクセス不可能である場合などです。このようなレコードにアクセスするには、管理オプション expose-all-logstrue に設定する必要があります。このオプションは管理モデルには保存されず、サーバーが再起動されると false に戻ります。
/profile=default/subsystem=transactions/log-store=log-store:write-attribute(name=expose-all-logs, value=true)
トランザクションを削除します。
各トランザクションログは、トランザクションを表すトランザクションログを削除するために :delete 操作をサポートします。
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:delete
トランザクションをリカバリーします。
各トランザクションの参加者は、:recover CLI コマンドを使用したリカバリーをサポートします。
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=2:recover

ヒューリスティックトランザクションおよび参加者のリカバリー

  • トランザクションの状態が HEURISTIC の場合、リカバリー操作は状態を PREPARE に変更し、リカバリーをトリガーします。
  • トランザクションの参加者の 1 つがヒューリスティックな場合、リカバリー操作は commit 操作を再生しようとします。成功すると、参加者はトランザクションログから削除されます。これを確認するには、:probelog-store 操作を再実行し、参加者がリストされていないことを確認します。最後の参加者が削除されると、トランザクションも削除されます。
リカバリーが必要なトランザクションの状態を更新します。
トランザクションをリカバリーする必要がある場合は、リカバリーを試行する前に :refresh CLI コマンドを使用してリカバリーが必要なことを確認できます。
/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=2:refresh

トランザクション統計情報の表示

トランザクションマネージャーの統計が有効になっていると、トランザクションマネージャーおよびトランザクションサブシステムに関する統計を表示できます。トランザクションマネージャーの統計を有効にする方法は、「トランザクションマネージャーの設定」 を参照してください。

管理コンソールまたは管理 CLI を使用して統計を表示できます。管理コンソールでは、Runtime Status サブシステム ます。管理対象ドメインの各サーバーでは、トランザクションの統計を利用できます。別のサーバーの状態を表示するには、左側のメニューで Change Server を選択し、一覧からサーバーを選択します。
以下の表は、統計を表示する利用可能な各統計、その説明、および管理 CLI コマンドを示しています。
Expand
表19.4 トランザクションサブシステム統計情報
統計 説明 CLI コマンド
合計
このサーバー上でトランザクションマネージャーにより処理されるトランザクションの合計数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-transactions,include-defaults=true)
Committed
このサーバー上でトランザクションマネージャーにより処理されるコミット済みトランザクションの数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-committed-transactions,include-defaults=true)
強制終了
このサーバー上でトランザクションマネージャーにより処理されるアボートされたトランザクションの数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-aborted-transactions,include-defaults=true)
Timed Out
このサーバー上でトランザクションマネージャーにより処理されるタイムアウトのトランザクションの数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-timed-out-transactions,include-defaults=true)
Heuristics
管理コンソールでは利用できません。ヒューリスティック状態のトランザクションの数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-heuristics,include-defaults=true)
フライト状態のトランザクション
管理コンソールでは利用できません。開始済みであるが終了されていないトランザクションの数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-inflight-transactions,include-defaults=true)
障害の原因 - アプリケーション
障害の原因がアプリケーションであった失敗トランザクションの数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-application-rollbacks,include-defaults=true)
障害の原因 - リソース
障害の原因がリソースであった失敗トランザクションの数。
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-resource-rollbacks,include-defaults=true)
参加者 ID
参加者の ID。
/host=master/server=server-one/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:read-children-names(child-type=participants)
トランザクションすべてのリスト
トランザクションの完全リスト。
/host=master/server=server-one/subsystem=transactions/log-store=log-store:read-children-names(child-type=transactions)
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る