ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

9.8.13 トランザクションサービスの定義項目

定義項目

項目名

省略値

範囲

説明

再起動要否

(※)

再起動時

true

  • true

  • false

トランザクションは、サーバクラッシュまたはリソースマネージャークラッシュのいずれかにより未完了(インダウト状態)になる可能性があります。
本パラメタを有効にすると、サーバの起動時にインダウト状態を回復しトランザクションを完了させます(注1)。

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

0

0~2147483647(秒)

トランザクションが完了するまでの時間を指定します。IJServerクラスタはトランザクションが設定された時間内に完了しない場合、トランザクションの状態を“MarkedRollback”に変更します(注2)。
0を指定した場合、サーバはトランザクションの完了を待機し続けます。
また、トランザクションサービスに設定する以外に、Enterprise JavaBeanでトランザクション制御をコンテナが行う場合にはInterstage EJB application deployment descriptor (sun-ejb-jar.xml)のcmt-timeout-in-secondsタグを指定することで、Enterprise JavaBeanごとにタイムアウト値を指定することもできます。

Interstage Java EE DASサービスのインスタンスは再起動不要。
サーバーインスタンスは再起動必要。

再試行タイムアウト

600

0~2147483647(秒)

トランザクションが複数のサーバにわたっている場合、トランザクションを開始したサーバがトランザクションの結果を取得しようとして他のサーバに問い合わせる場合があります。本パラメタはアクセスできないサーバに対して再接続を試みる時間を設定します。
0を指定した場合、再接続は行いません。

Interstage Java EE DASサービスのインスタンスは再起動不要。
サーバーインスタンスは再起動必要。

トランザクションログの位置

${com.sun.aas.instanceRoot}
/logs

文字列

トランザクションログは、関連リソースのデータの整合性を維持して障害を回復するために、各トランザクションについての情報を記録します。トランザクションログは、本パラメタで指定したディレクトリの 「[IJServerクラスタのインスタンス名]/tx 」サブディレクトリに保存されます。(「[IJServerクラスタのインスタンス名]/tx」 サブディレクトリは自動的に生成されます。)
相対パスで指定した場合は、${com.sun.aas.instanceRoot}/logsを基点とした相対パスになります。
省略値の${com.sun.aas.instanceRoot}変数については、「9.8.1 定義時に利用できるプロパティ」を参照してください

特殊な結果判別

rollback

  • rollback

  • commit

再試行タイムアウトに指定した時間が経過しても関連リソースにアクセスできない場合、本パラメタに指定した方法でトランザクションを完了させます。
未確定なトランザクションのコミットは、アプリケーションのデータの整合性を損なう可能性がありますので、本パラメタを「コミット」に設定する適切な理由がないかぎり、「ロールバック」のままにしてください。

キーポイント間隔

65536

1~2147483647(トランザクション数)

キーポイントとはトランザクションログファイルを圧縮する処理のことです。本パラメタでキーポイント処理を実行するトランザクション数の間隔を指定することができます。

Interstage Java EE DASサービスのインスタンスは再起動不要。
サーバーインスタンスは再起動必要。

追加プロパティ

  

■プロパティ名:
半角英数字、マルチバイト文字、または特殊文字 (‘-’、‘_’、‘.’、‘/’、‘;’、‘#’)。
先頭には、半角英数字もしくはマルチバイト文字を指定可。
■プロパティ値:
文字列

名前と値の組み合わせでプロパティ項目を追加することが可能です。

※:IJServerクラスタの再起動が必要かどうかを示しています。
    ○:再起動必要、×:再起動不要

注1)

トランザクション回復時に他のサーバのリソースにアクセスできないなどの理由により起動開始が遅延することが考えられます。その場合Interstageは再試行タイムアウトに設定された時間で再接続を試み、それでも失敗した場合は特殊な結果判別に指定された方法でトランザクションを完了します。

注2)

トランザクションの状態については、「3.12.6 トランザクションの監視と凍結機能」を参照してください。

プロパティ

参照/設定可能なプロパティには以下があります(一部を記載しています)。

「追加プロパティ」で指定可能なプロパティ

項目名

プロパティ名

トランザクションログの無効化

disable-distributed-transaction-logging

XAResourceに設定するトランザクションタイムアウト

xaresource-txn-timeout

トランザクションログの出力先JDBCリソース名

db-logging-resource

Use Last Agent Optimization

use-last-agent-optimization


追加プロパティの定義項目

項目名

省略値

範囲

説明

トランザクションログの無効化

false

  • true

  • false

本プロパティをtrueに設定するとトランザクションログの出力を無効にします(注1)。
ログを出力しない分パフォーマンスの向上を見込めますが、障害の回復はできなくなります。そのため、本項目を無効(true)に設定することは推奨しません。

XAResourceに設定するトランザクションタイムアウト

使用するJDBCドライバによって異なりますので、JDBCドライバの仕様を確認してください。

0~2147483647(秒)
(ただし、使用するJDBCドライバによって異なりますので、JDBCドライバの仕様を確認してください。)

本プロパティに利用した値を、グローバルトランザクションで使用するXAResourceに対してsetTransactionTimeoutメソッドを使用してタイムアウト値(秒)を設定します。

トランザクションログの出力先JDBCリソース名

なし

文字列

本プロパティにJDBCリソースのJNDI名(例: jdbc/TxLog)を指定します。
指定したJDBCリソースが対象とするデータベースにトランザクションログを格納します(注2)。

Use Last Agent Optimization

true

  • true

  • false

本プロパティをtrueに設定すると、トランザクション中に複数のリソースを使用する場合に、1つだけ非XAリソースを使用できます。

1)

トランザクションログを無効化した場合は、再起動時の定義もあわせて無効化してください。

注2)

本バージョンでは、トランザクションログをデータベースに格納する方法はサポートしていません。


関連情報

詳細な説明や関連記事については、以下を参照してください。

内容

参照先

機能説明

3.12 トランザクション制御

チューニング方法

7.13 トランザクションサービスのチューニング

コマンド

asadminコマンドの以下のサブコマンド
  11.1.4.1 getサブコマンド
  11.1.4.2 setサブコマンド
  11.1.4.3 listサブコマンド

asadminコマンドでの定義項目名

11.18.3.12 configs.config.transaction-serviceの定義項目