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

トランザクションマネージャー (TM) は、Web ベースの管理コンソールかコマンドラインの管理 CLI を使用して設定できます。各コマンドやオプションでは、 JBoss Enterprise Application Platform を管理対象ドメインとして実行していると仮定します。スタンドアロンサーバーを使用する場合や default 以外のプロファイルを修正したい場合は、以下の方法で手順とコマンドを修正する必要があることがあります。

例のコマンドに関する注意点

  • 管理コンソールの場合、default プロファイルは最初のコンソールログイン時に選択されるものです。異なるプロファイルでトランザクションマネージャーの設定を修正する必要がある場合は、default の代わりに使用しているプロファイルを選択してください。
    同様に、例の CLI コマンドの default プロファイルを使用しているプロファイルに置き換えてください。
  • スタンドアロンサーバーを使用する場合、存在するプロファイルは 1 つのみです。特定のプロファイルを選択する手順は無視してください。CLI コマンドでは、例のコマンドの /profile=default 部分を削除してください。

注記

TM オプションが管理コンソールまたは管理 CLI で表示されるようにするには、transactions サブシステムが有効でなくてはなりません。これは、デフォルトで有効になっており、他の多くのサブシステムが適切に機能するために必要なため、無効にする可能性は大変低くなります。
管理コンソールを使用した TM の設定

Web ベースの管理コンソールを使用して TM を設定するには、管理コンソール画面の左上にある一覧から [Runtime] タブを選択します。管理対象ドメインを使用する場合、選択できるプロファイルがいくつかあります。プロファイル画面の右上にある [Profile] 選択ボックスから適切なプロファイルを選択してください。[Container] メニューを展開して、[Transactions] を選択します。

トランザクションマネージャーの設定ページには、さらなるオプションが表示されています。[Recovery] オプションはデフォルトでは非表示です。展開するには、[Recovery] ヘッダーをクリックします。オプションを編集するには、[Edit] ボタンをクリックします。変更は直ちに反映されます。
インラインヘルプを表示するには、[Need Help?] ラベルをクリックします。
管理 CLI を使用した TM の設定

管理 CLI では、一連のコマンドを使用して TM を設定できます。プロファイル default の管理対象ドメインの場合、コマンドはすべて /profile=default/subsystem=transactions/ で始まり、スタンドアロンサーバーの場合は /subsystem=transactions で始まります。

表10.13 TM 設定オプション

オプション 説明 CLI コマンド
統計の有効化 (Enable Statistics)
トランザクションの統計を有効にするかどうか指定します。統計は Runtime タブの Subsystem Metrics セクションにある管理コンソールで閲覧できます。
/profile=default/subsystem=transactions/:write-attribute(name=enable-statistics,value=true)
TSM ステータスの有効化 (Enable TSM Status)
トランザクションステータスマネージャー (TSM) のサービスを有効にするかどうか指定します。これは、アウトオブプロセスのリカバリに使用されます。
/profile=default/subsystem=transactions/:write-attribute(name=enable-tsm-status,value=false)
デフォルトのタイムアウト (Default Timeout)
デフォルトのトランザクションタイムアウトです。デフォルトでは 300 秒に設定されています。トランザクションごとにプログラムで上書きできます。
/profile=default/subsystem=transactions/:write-attribute(name=default-timeout,value=300)
パス (Path)
トランザクションマネージャーコアがデータを格納するファイルシステムの相対または絶対パスです。デフォルトの値は relative-to 属性の値と相対的なパスです。
/profile=default/subsystem=transactions/:write-attribute(name=path,value=var)
相対的 (Relative To)
ドメインモデルのグローバルなパス設定を参照します。デフォルト値は、JBoss Enterprise Application Platform 6 のデータディレクトリで、jboss.server.data.dir プロパティーの値です。デフォルトは、管理対象ドメインの場合は EAP_HOME/domain/data/、スタンドアロンサーバーインスタンスの場合は EAP_HOME/standalone/data/ です。path TM 属性の値は、このパスに相対的です。空の文字列を使用して、デフォルト動作を無効にし、path 属性の値が絶対パスとして強制的に扱われるようにします。
/profile=default/subsystem=transactions/:write-attribute(name=relative-to,value=jboss.server.data.dir)
オブジェクトストアパス (Object Store Path)
TM オブジェクトストアがデータを格納するファイルシステムの相対または絶対パスです。デフォルトでは、object-store-relative-to パラメーターの値に相対的です。
/profile=default/subsystem=transactions/:write-attribute(name=object-store-path,value=tx-object-store)
オブジェクトストアパスに相対的 (Object Store Path Relative To)
ドメインモデルのグローバルなパス設定を参照します。デフォルト値は、JBoss Enterprise Application Platform 6 のデータディレクトリで、jboss.server.data.dir プロパティーの値です。デフォルトは、管理対象ドメインの場合は EAP_HOME/domain/data/、スタンドアロンサーバーインスタンスの場合は EAP_HOME/standalone/data/ です。path TM 属性の値は、このパスに相対的です。空の文字列を使用して、デフォルト動作を無効にし、path 属性の値が絶対パスとして強制的に扱われるようにします。
/profile=default/subsystem=transactions/:write-attribute(name=object-store-relative-to,value=jboss.server.data.dir)
ソケットバインディング (Socket Binding)
ソケットベースのメカニズムを使用する場合に、トランザクションマネージャーの回復およびトランザクション識別子の生成に使用するソケットバインディングの名前を指定します。一意の識別子を生成する詳しい情報は、process-id-socket-max-ports を参照してください。ソケットバインディングは、管理コンソールの Server タブでサーバーグループごとに指定されます。
/profile=default/subsystem=transactions/:write-attribute(name=socket-binding,value=txn-recovery-environment)
ソケットバインディングのステータス (Status Socket Binding)
トランザクションステータスマネージャーで使用するソケットバインディングを指定します。
/profile=default/subsystem=transactions/:write-attribute(name=status-socket-binding,value=txn-status-manager)
リカバリーリスナー (Recovery Listener)
トランザクションリカバリのプロセスがネットワークソケットをリッスンするかどうかを指定します。デフォルトは false です。
/profile=default/subsystem=transactions/:write-attribute(name=recovery-listener,value=false)
以下は、高度なオプションで、修正は管理 CLI を使用することでのみ可能です。デフォルト設定の変更は注意して行ってください。詳細は Red Hat グローバルサポートサービスにお問い合わせください。

表10.14 高度な TM 設定オプション

オプション 説明 CLI コマンド
jts
Java Transaction Service (JTS) トランザクションを使用するかどうかを指定します。デフォルトは false で、JTA トランザクションのみ使用します。
/profile=default/subsystem=transactions/:write-attribute(name=jts,value=false)
node-identifier
JTS サービスのノード識別子です。トランザクションマネージャーがリカバリ時にこれを使用するため、JTS サービスごとに一意でなければなりません。
/profile=default/subsystem=transactions/:write-attribute(name=node-identifier,value=1)
process-id-socket-max-ports
トランザクションマネージャーは、各トランザクションログに対し一意の識別子を作成します。一意の識別子を生成するメカニズムは 2 種類あります。ソケットベースのメカニズムとプロセスのプロセス識別子をベースにしたメカニズムです。
ソケットベースの識別子の場合、あるソケットを開くと、そのポート番号が識別子用に使用されます。ポートがすでに使用されている場合は、空きのポートが見つかるまで次のポートがプローブされます。process-id-socket-max-ports は、TM が失敗するまでに試行するソケットの最大値を意味します。デフォルト値は 10 です。
/profile=default/subsystem=transactions/:write-attribute(name=process-id-socket-max-ports,value=10)
process-id-uuid
true に設定すると、プロセス識別子を使用して各トランザクションに一意の識別子を作成します。そうでない場合は、ソケットベースのメカニズムが使用されます。デフォルトは true です。詳細は process-id-socket-max-ports を参照してください。
/profile=default/subsystem=transactions/:write-attribute(name=process-id-uuid,value=true)
use-hornetq-store
トランザクションログ用に、ファイルベースのストレージの代わりに HornetQ のジャーナルストレージメカニズムを使用します。デフォルトでは無効になっていますが、I/O パフォーマンスが向上します。別々のトランザクションマネージャーで JTS トランザクションを使用することは推奨されません。
/profile=default/subsystem=transactions/:write-attribute(name=use-hornetq-store,value=false)