トランザクション ログ管理の設定
トランザクション・ログ用の共有リポジトリとして既存のデータベースを使用するように、トランザクション・サービスを構成することができる。 をサポートするデータベース・タイプであればどれでも使用できる。 IBM® Modernized Runtime Extension for Java™ をサポートします。
デフォルトでは、トランザクション・サービスはトランザクション・ログをオペレーティング・システム・ファイルとして保存する。 この機能には、 NFSv4-mounted ネットワーク接続ストレージ(NAS)やストレージエリアネットワーク(SAN)のような、トランザクションログをホストする共有ファイルシステムの使用が必要である。 コンテナ化された環境では、実装の複雑さやクラウドサービスプロバイダーのサポート不足のために、この構成が問題になる場合がある。
事前処理
マネージド Liberty サーバーのトランザクションログをリレーショナルデータベース管理システム(RDBMS)に保存するには、 MoRE リソース構成で専用の非トランザクションデータソースを構成します。 次に、サーバーのトランザクションサービス設定のデータソースJNDI名を、トランザクションロギング専用のデータソースのJNDI名に設定する。
非トランザクション・データ・ソースの作成
トランザクション・ログ・ストレージ用の非トランザクション・データ・ソースを作成するには、以下の手順を実行します。
- 特定のRDBMS実装用に JDBC プロバイダーを作成し、
non-XAの実装タイプを指定する。 - JAAS J2C 認証データ・エイリアスを作成し、RDBMS への接続に使用するセキュリティー認証情報を定義する。 RDBMS に定義されている資格情報は、データベース内にテーブルを作成する権限を持っていなければならない。
- 新しい JDBC プロバイダーを使ってデータソースを作成する。 コンポーネントが管理する認証エイリアスは、新しい JAAS J2C 認証データエイリアスに設定する必要がある。 RDBMSへの接続を指定するために、データ・ソースの URL を定義し、データ・ソースのJNDI名を指定します。
- 以下の手順を実行して、新しいデータ・ソースを非トランザクション型に構成します。
- 作成したデータソースを開く。
- 「追加プロパティー」の下の「WebSphere Application Server データ・ソース・プロパティー」をクリックします。
- 「非トランザクション・データ・ソース (Non-transactional data source)」を選択します。
- 変更を保存します。
トランザクション・ログを格納するために非トランザクション・データ・ソースを構成する場合、カスタム・プロパティ syncQueryTimeoutWithTransactionTimeout の値をデフォルトから変更してはなりません。 デフォルト値はfalseです。
トランザクション・サービスを有効にする
RDBMSにトランザクションログを保存する場合、各サーバーはそれぞれ独自のテーブルを持つ必要がある。 トランザクション ログ データベース テーブル接尾辞を使用すると、サーバーに固有のテーブル接尾辞を指定できます。 Transaction Log Database Table Suffixの値は、テーブル名に付加される文字列です。 テーブル名に文字列を付加することで、そのテーブルがホスティングされているサーバー固有の名前になる。 シンプルで便利なサフィックス設定は、 ${wlp.server.name}、管理される Liberty サーバーの名前に解決する予約 Liberty 変数です。 サーバー名は、RDBMS でこのサーバーのために作成されるテーブル名の接尾辞として追加されます。
トランザクション・サービスがトランザクションをリレーショナル・データベースに格納できるようにするには、以下の手順を実行する。
- WebSphere Application Server 管理コンソールで、[ クリックします。 指定したアプリケーション・サーバーのプロパティーが表示されます。
- トランザクション・ログ・ストレージ専用の非トランザクション・データ・ソースのデータ・ソースJNDI名を入力する。
- このサーバーに固有のトランザクションログデータベーステーブル接尾辞を入力します。トラブルを避けましょう: Oracle データベースを使用している場合、サフィックス文字列の長さは15文字以内でなければなりません。
- 変更をノードと同期する ]を選択し、マスター構成に変更を保存します。
結果
これでサーバーは、トランザクションログをリレーショナルデータベースに保存できるようになった。