Cosminexus システム構築ガイド
トランザクションサービスをJ2EEサーバとは別のプロセス(アウトプロセス)で起動していた場合,07-00以降からはJ2EEサーバ起動時にインプロセスで起動するように変更してください。
ここでは,ファイル編集とコマンド実行でシステムを構築する場合の設定の変更方法について説明します。Management Serverの運用管理ポータルでシステムを構築する場合の設定の変更方法については,「付録A.10(4) トランザクションサービスのインプロセス化」を参照してください。
次の手順に従って,環境を移行してください。
アウトプロセストランザクションサービスのセットアップ用のコマンドを実行して,アウトプロセストランザクションサービスをアンセットアップしてください。
アウトプロセストランザクションサービスのセットアップ用のコマンドを実行するタイミングによって,使用するコマンドが異なります。
インプロセストランザクションサービスでは,セットアップコマンドの実行は必要ありません。また,アウトプロセストランザクションサービスではtsdefvalueコマンドを使用してシステム環境定義をカスタマイズしましたが,インプロセストランザクションサービスではJ2EEサーバ用のユーザプロパティファイルを使用してシステム環境定義をカスタマイズします。インプロセストランザクションサービスで設定が必要なJ2EEサーバのプロパティを次の表に示します。
表C-1 インプロセストランザクションサービスで設定が必要なJ2EEサーバのプロパティ
| キー名称 | 値 | 見積もりの指針 |
|---|---|---|
| ejbserver.distributedtx.enableXidReuseOptimization | false | − |
| ejbserver.distributedtx.ots.status.directory1 | インプロセストランザクションサービスのステータスファイルを格納するディレクトリ | 指定したパスのパーティションが枯渇しないように運用する必要があります。 また,アウトプロセストランザクションサービスでは,環境変数「TPFS」をカスタマイズして共有ディスク上に配置し,HA構成で運用していた場合は,共有ディスク上のパスを設定する必要があります。 |
| ejbserver.distributedtx.ots.status.directory2※ |
注※ インプロセストランザクションサービスでステータスファイルを1面で運用する場合,設定の必要はありません。
キーの詳細については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。
インプロセストランザクションサービスとアウトプロセストランザクションサービスでは,設定が必要な環境変数が異なります。不要となった環境変数は削除してください。トランザクションサービスの環境変数の設定要否を次の表に示します。なお,環境変数に設定する値については,「2.3.2 環境変数の詳細」を参照してください。
表C-2 トランザクションサービスの環境変数の設定要否
| 環境変数名 | 指定する内容 | 設定の要否 | |
|---|---|---|---|
| アウトプロセストランザクションサービスの場合 | インプロセストランザクションサービスの場合 | ||
| OSAGENT_PORT | スマートエージェントが使用するポート番号 | ○ | △※1 |
| PATH | プログラム実行パス | ◎ | ◎ |
| LIBPATH,またはLD_LIBRARY_PATH※2 | ライブラリ検索パス | ◎ | ◎ |
| TPDIR | Cosminexus TPBrokerのインストール先 | ◎ | ◎ |
| TZ | タイムゾーン | ◎ | ◎ |
| VBROKER_ADM | スマートエージェントの定義情報が格納されているディレクトリ | ◎ | ◎ |
| TPFS | Cosminexus TPBrokerのステータスファイル格納先 (任意のディレクトリまたはキャラクタデバイスファイル) |
○ | △ |
| TPSPOOL | Cosminexus TPBrokerの稼働情報格納先 (任意のディレクトリ) |
○ | △ |
注※1 CTMなどの機能でスマートエージェントを使用する場合があります。ほかの機能で使用している場合は,環境変数「OSAGENT_PORT」を削除しないでください。
注※2 OSによって,使用する環境変数名が異なります。
システムの運用環境も移行する必要があります。次の内容を変更して,システムの運用環境を移行してください。
インプロセストランザクションサービスでは,次のプロセスは起動不要です。
メッセージを監視する運用を行っている場合,メッセージの出力や内容の変更があります。監視対象となるメッセージIDを変更してください。メッセージの変更点を次の表に示します。
表C-3 メッセージの変更点
| 変更点 | アウトプロセストランザクションサービスの場合 | インプロセストランザクションサービスの場合 |
|---|---|---|
| 出力先 | イベントログ,またはsyslog | cjmessage?.log |
| cjmessage?.log | ||
| メッセージIDの範囲 | KFCB29500〜KFCB32401 | KFCB40000〜KFCB49999 |
| メッセージが記載されているドキュメント | TPBrokerのドキュメント | マニュアル「Cosminexus メッセージ 2 KEOS/KEUC/KFCB編」 |
注 「?」は通番を意味します。
アウトプロセストランザクションサービスを使用した場合は,環境変数「TPSPOOL」および「TPFS」に指定したディレクトリ以下のトレースファイルやログファイルを取得する必要がありました。インプロセストランザクションサービスでは,アウトプロセストランザクションサービスで取得していた資料は,取得不要です。インプロセストランザクションサービスで取得する必要があるトラブルシュート情報を次の表に示します。
表C-4 インプロセストランザクションサービスで取得する必要があるトラブルシュート情報
| 取得先 | 取得情報 |
|---|---|
Cosminexus Component Containerのメッセージログ
|
Cosminexus TPBrokerのメッセージ |
Cosminexus Component Containerのユーザログ
|
Cosminexus TPBrokerのメッセージ |
Cosminexus Component Containerのメンテナンスログ
|
Cosminexus TPBrokerのトレース情報 |
| インプロセストランザクションサービスのステータスファイル (J2EEサーバのejbserver.distributedtx.ots.status.directory1,またはejbserver.distributedtx.ots.status.directory2キーで指定されるディレクトリ以下のファイル) |
インプロセストランザクションサービスのステータスファイルおよびステータスファイルのバックアップ |
注 「?」は通番を意味します。
次に示すように運用手順を変更して移行してください。
インプロセストランザクションサービスを使用する場合,アウトプロセストランザクションサービスを使用していた場合と比べて,動作が異なります。発生条件に合致する場合,プログラムソースコードを変更する必要があります。
表C-5 プログラムソースコードの変更点
| 動作変更内容 | 発生条件 | 修正内容 |
|---|---|---|
| SetRollbackOnly後のトランザクション決着時にbeforeCompletionが呼ばれません(アウトプロセストランザクションサービスを使用した場合は呼ばれます)。 | Stateful Session Beanを使用し,SessionSynchronizationを実装している場合 | SetRollbackOnly後のトランザクション決着時にbeforeCompletionが呼ばれることを期待しないプログラムに変更してください。 |
| SetRollbackOnly後のトランザクション決着時にejbStoreが呼ばれません(アウトプロセストランザクションサービスを使用した場合は呼ばれます)。 | Entity Beanを使用している場合 | SetRollbackOnly後のトランザクション決着時にejbStoreが呼ばれることを期待しないプログラムに変更してください。 |
| afterCompletionの引数(boolean commited)の決定方法は,アウトプロセストランザクションサービスの場合にはトップルートトランザクションの処理結果を反映していましたが,インプロセストランザクションサービスの場合には,該当するブランチと,サブオーディネートブランチの処理結果だけで決定されます。 | 次の条件をすべて満たす場合
|
afterCompletionの引数の使い方として,トップルートトランザクションの決着結果を期待しないプログラムに変更してください。 |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.