この節では、次のトランザクション属性の設定方法を説明します。
トランザクションは、サーバークラッシュまたはリソースマネージャクラッシュのいずれかにより未完了になる可能性があります。これらの未完了トランザクションを完了させて障害を回復することは重要です。Application Server はこれらの障害を回復し、サーバーの起動時にそのトランザクションを完了するように設計されています。
リカバリを行っている間にリソースにアクセスできなくなった場合は、トランザクションを回復しようとしてサーバーの再起動が遅れた可能性があります。
トランザクションが複数のサーバーにわたっている場合は、トランザクションを開始したサーバーがトランザクションの結果を取得しようとしてほかのサーバーに問い合わせる場合があります。ほかのサーバーにアクセスできない場合、そのトランザクションは「特殊な結果判別」フィールドを使用してその結果を判別します。
Application Server がトランザクションをリカバリする方法を設定するには、次の手順に従います。
このフィールドを「コミット」に設定する適切な理由がないかぎり、「特殊な結果判別」を「ロールバック」のままにしておきます。未確定なトランザクションのコミットは、アプリケーションのデータの整合性と妥協させることができます。
デフォルトでは、サーバーはトランザクションをタイムアウトしないようになっています。つまり、サーバーはトランザクションの完了を待機し続けます。トランザクションのタイムアウト値を設定して、トランザクションが設定された時間内に完了しない場合、Application Server はトランザクションをロールバックします。
タイムアウト値を設定するには、次の手順に従います。
トランザクションタイムアウトのデフォルト値は 0 秒です。これにより、トランザクションのタイムアウトは無効になります。
トランザクションログは、関連リソースのデータの整合性を維持して障害を回復するために、各トランザクションについての情報を記録します。トランザクションログは、「トランザクションログの位置」フィールドで指定したディレクトリの tx
サブディレクトリに保存されます。これらのログは人間が読み取れるものではありません。
トランザクションログの位置を設定するには、次の手順に従います。
tx
サブディレクトリが作成され、トランザクションログがそのディレクトリの下に保存されます。
キーポイント処理によって、トランザクションログファイルが圧縮されます。キーポイント間隔は、ログ上のキーポイント処理間のトランザクション数です。キーポイント処理によって、トランザクションログファイルのサイズを小さくすることができます。キーポイント間隔を大きくすると (例: 2048)、トランザクションログファイルが大きくなりますが、キーポイント処理が少なくなるのでパフォーマンスが向上する可能性があります。キーポイント間隔を小さくすると (例: 256)、ログファイルのサイズが小さくなりますが、キーポイント処理が多くなるので、パフォーマンスがわずかに低下します。
キーポイント間隔を設定するには、次の手順に従います。
関連項目