検索

第14章 トランザクションの設定

download PDF

14.1. トランザクションサブシステム設定

14.1.1. トランザクションマネージャーの設定

トランザクションマネージャーは、Web ベースの管理コンソールまたはコマンドライン管理 CLI を使用して設定できます。

管理コンソールを使用したトランザクションマネージャーの設定

以下の手順は、Web ベースの管理コンソールを使用してトランザクションマネージャーを設定する方法を示しています。

  1. 画面上部の Configuration タブを選択します。
  2. JBoss EAP をマネージドドメインとして実行している場合は、変更する任意のプロファイルを選択します。
  3. Subsystem リストから、Transaction を選択し、表示 をクリックします。
  4. 編集する設定の適切なタブで [編集] を クリックします (回復オプションの場合は [回復] など)。
  5. 必要な変更を加え、保存を クリックして変更を保存します。
  6. ヘルプが必要ですか? をクリックします。ヘルプテキストを表示します。
管理 CLI を使用したトランザクションマネージャーの設定

管理 CLI で一連のコマンドを使用してトランザクションマネージャーを設定できます。これらのコマンドはすべて /subsystem=transactions (スタンドアロンサーバー向け) または /profile=default/subsystem=transactions/ (マネージドドメインの default プロファイル向け) で始まります。

トランザクションマネージャーのすべての設定オプションの詳細なリストについては、トランザクションマネージャーの設定オプション を参照してください。

14.1.2. JTA を使用するようデータソースを設定

ここでは、データソースで Java Transaction API (JTA) を有効にする方法を説明します。

前提条件
  • データベースは Java Transaction API をサポートしている必要があります。疑問がある場合は、データベースのドキュメントを参照してください。
  • 非 XA データソース を作成します。

    注記

    XA データソースはすでにデフォルトで JTA 可能になっています。

Java トランザクション API を使用するようにデータソースを設定する
  1. 以下の管理 CLI コマンドを使用して jta 属性を true に設定します。

    /subsystem=datasources/data-source=DATASOURCE_NAME:write-attribute(name=jta,value=true)
    注記

    マネージドドメインでは、このコマンドの前に /profile=PROFILE_NAME を付けます。

  2. 変更を反映するためにサーバーをリロードします。

    reload

データソースが JTA を使用するように設定されます。

14.1.3. トランザクションログメッセージ

トランザクションロガーに DEBUG ログレベルを使用することにより、ログファイルを読み取り可能な状態に保ちつつトランザクションを追跡できます。詳細なデバッグの場合は、TRACE ログレベルを使用します。トランザクションロガーの設定に関する詳細については、Transactions サブシステムのロギング設定 を参照してください。

TRACE ログレベルでログを記録するよう設定すると、トランザクションマネージャー (TM) は多くのロギング情報を生成できます。最も一般的なメッセージの一部は次のとおりです。このリストは包括的ではなく、他のメッセージが表示されることもあります。

表14.1 トランザクション状態の変更

トランザクションの開始

トランザクションが開始されたら、クラス com.arjuna.ats.arjuna.coordinator.BasicAction のメソッド Begin が実行され、メッセージ BasicAction::Begin() for action-id <transaction uid> でログに示されます。

トランザクションのコミット

トランザクションがコミットされたら、クラス com.arjuna.ats.arjuna.coordinator.BasicAction のメソッド Commit が実行され、メッセージ BasicAction::Commit() for action-id <transaction uid> でログに示されます。

トランザクションのロールバック

トランザクションがロールバックされたら、クラス com.arjuna.ats.arjuna.coordinator.BasicAction のメソッド Rollback が実行され、メッセージ BasicAction::Rollback() for action-id <transaction uid> でログに示されます。

トランザクションのタイムアウト

トランザクションがタイムアウトすると、com.arjuna.ats.arjuna.coordinator.TransactionReaper のメソッド doCancellations が実行され、Reaper Worker <thread id> attempting to cancel <transaction uid> とログに示されます。この結果、上記のように同じスレッドがトランザクションをロールバックすることが示されます。

14.1.4. Transactions サブシステムのロギング設定

JBoss EAP の他のログ設定に依存せずにログに記録されたトランザクションに関する情報の量を制御できます。ログ設定は、管理コンソールまたは管理 CLI を使用して設定できます。

管理コンソールを使用したトランザクションロガーの設定
  1. Logging サブシステム設定に移動します。

    1. 管理コンソールで、Configuration タブをクリックします。マネージドドメインを使用する場合は、適切なサーバープロファイルを選択する必要があります。
    2. Logging サブシステムを選択し、[View] をクリックします。
  2. com.arjuna 属性を編集します。

    ログカテゴリー タブを選択します。com.arjuna エントリーがすでに存在します。com.arjuna を選択し、属性 セクションで 編集を クリックします。ログレベルを変更し、親ハンドラーを使用するかどうかを選択できます。

    • ログレベル:

      トランザクションにより大量のロギング出力が生成されることがあるため、サーバーのログがトランザクション出力で満たされないようデフォルトのロギングレベルは WARN に設定されます。トランザクション処理の詳細を確認する必要がある場合は、トランザクション ID が表示されるよう TRACE ログレベルを使用します。

    • 親ハンドラーの使用:

      親ハンドラーはロガーが出力を親ロガーに送信するかどうかを指定します。デフォルトの動作は true です。

  3. 保存 をクリックして変更を保存します。
管理 CLI を使用したトランザクションロガーの設定

以下のコマンドを使用して管理 CLI からログレベルを設定します。スタンドアロンサーバーの場合は、コマンドから /profile=default を削除します。

/profile=default/subsystem=logging/logger=com.arjuna:write-attribute(name=level,value=VALUE)
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.