定義項目
カテゴリ | プロパティ | プロパティ名 | get | set | list |
---|---|---|---|---|---|
× | × | ○ | |||
automatic-recovery | ○ | ○ | × | ||
timeout-in-seconds | ○ | ○ | × | ||
retry-timeout-in-seconds | ○ | ○ | × | ||
tx-log-dir | ○ | ○ | × | ||
keypoint-interval | ○ | ○ | × | ||
○ | ○ | × | |||
disable-distributed-transaction-logging | ○ | ○ | × | ||
xaresource-txn-timeout | ○ | ○ | × | ||
use-last-agent-optimization | ○ | ○ | × |
■トランザクションサービス
${clusterName_instanceName_configName}.transaction-service
再起動時
${clusterName_instanceName_configName}.transaction-service.automatic-recovery
サーバの起動時にインダウト状態を回復しトランザクションを完了する処理を有効にする(true)/しない(false)を指定します。(注1)
インダウト状態とは、サーバクラッシュまたはリソースマネージャークラッシュのいずれかによりトランザクションが未完了となった状態のことです。
true
false
true
ただし、Interstage Java EE 7 DASサービスではfalseです。
トランザクションタイムアウト
${clusterName_instanceName_configName}.transaction-service.timeout-in-seconds
トランザクションが完了するまでの時間を指定します。IJServerクラスタはトランザクションが設定された時間内に完了しない場合、トランザクションの状態を“MarkedRollback”に変更します(注2)。
「0」を指定した場合、サーバはトランザクションの完了を待機し続けます。
また、トランザクションサービスに設定する以外に、Enterprise JavaBeanでトランザクション制御をコンテナが行う場合にはInterstage EJB application deployment descriptor (glassfish-ejb-jar.xml)のcmt-timeout-in-secondsタグを指定することで、Enterprise JavaBeanごとにタイムアウト値を指定することもできます。
0~2147483647(秒)
0
再試行タイムアウト
${clusterName_instanceName_configName}.transaction-service.retry-timeout-in-seconds
トランザクションが複数のサーバにわたっている場合、トランザクションを開始したサーバがトランザクションの結果を取得しようとして他のサーバに問い合わせる場合があります。本パラメタはアクセスできないサーバに対して再接続を試みる時間を設定します。
本パラメタに指定した時間が経過しても関連リソースにアクセスできない場合、そのトランザクションをrollbackします。
「0」を指定した場合、再接続は行いません。
0~2147483647(秒)
600
トランザクションログの位置
${clusterName_instanceName_configName}.transaction-service.tx-log-dir
トランザクションログは、関連リソースのデータの整合性を維持して障害を回復するために、各トランザクションについての情報を記録します。トランザクションログは、本パラメタで指定したディレクトリの 「[サーバーインスタンス名]/tx」サブディレクトリに保存されます。(「[サーバーインスタンス名]/tx」 サブディレクトリは自動的に生成されます。)
相対パスで指定した場合は、${com.sun.aas.instanceRoot}/logsを基点とした相対パスになります。
初期値の${com.sun.aas.instanceRoot}変数については、「8.8.1 定義時に利用できるプロパティ」を参照してください。
任意の文字列
${com.sun.aas.instanceRoot}/logs
キーポイント間隔
${clusterName_instanceName_configName}.transaction-service.keypoint-interval
キーポイントとはトランザクションログファイルを圧縮する処理のことです。本パラメタでキーポイント処理を実行するトランザクション数の間隔を指定することができます。
1~2147483647(トランザクション数)
65536
トランザクションログの無効化
${clusterName_instanceName_configName}.transaction-service.property.disable-distributed-transaction-logging
トランザクションログを無効にする(true)/しない(false)を指定します。本項目を「true」に設定するとトランザクションログの出力を無効にします(注3)。
ログを出力しない分パフォーマンスの向上を見込めますが、障害の回復はできなくなります。そのため、本項目を無効(true)に設定することは推奨しません。
true
false
false
XAResourceに設定するトランザクションタイムアウト
${clusterName_instanceName_configName}.transaction-service.property.xaresource-txn-timeout
本プロパティに利用した値を、グローバルトランザクションで使用するXAResourceに対してsetTransactionTimeoutメソッドを使用してタイムアウト値(秒)を設定します。
0~2147483647(秒)
(ただし、使用するJDBCドライバによって異なりますので、JDBCドライバの仕様を確認してください。)
使用するJDBCドライバによって異なりますので、JDBCドライバの仕様を確認してください。
Use Last Agent Optimization
${clusterName_instanceName_configName}.transaction-service.property.use-last-agent-optimization
Use Last Agent Optimizationを有効にする(true)/しない(false)を指定します。
本プロパティを「true」に設定すると、トランザクション中に複数のリソースを使用する場合に、1つだけ非XAリソースを使用できます。Use Last Agent Optimizationの詳細については、「2.15.3 2フェーズコミットプロトコル」-「Use Last Agent Optimization」を参照してください。
true
false
true
追加プロパティ
${clusterName_instanceName_configName}.transaction-service.property.${PropertyName}
名前と値の組み合わせでプロパティ項目を追加することが可能です。
プロパティ名
半角英数字、または特殊文字 (‘-’、‘_’、‘.’、‘/’、‘;’、‘#’)
先頭には、半角英数字が指定可能
プロパティ値
任意の文字列
asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)して実行すると、値をなしに設定できます。
なし
トランザクション回復時に他のサーバのリソースにアクセスできないなどの理由により起動開始が遅延することが考えられます。その場合Interstageは再試行タイムアウトに設定された時間で再接続を試み、それでも失敗した場合はそのトランザクションをrollbackします。
トランザクションの状態については、「2.15.6 トランザクションの監視と凍結機能」を参照してください。
トランザクションログを無効化した場合は、再起動時の定義もあわせて無効化してください。
関連情報
詳細な説明や関連記事については、以下を参照してください。
内容 | 参照先 |
---|---|
機能説明 | |
チューニング方法 | |
コマンド | asadminコマンドの以下のサブコマンド |