4.4.5 使用上の注意
ここでは,通常のOTSで動作していたアプリケーションプログラムをOTS Fast Path Optionで動作させる場合や,両者のプログラムを共存して使用する場合などの注意事項を説明します。
(1) 通常のOTSアプリケーションをOTS Fast Path Optionで使用する
OTS Fast Path Optionで制限された機能を使用していない場合に,通常のOTSで動作していたアプリケーションプログラムをOTS Fast Path Optionで動作させることができます。この場合,OTS Fast Path Optionライブラリを指定して,アプリケーションプログラムをリンクし直してください。
なお,OTS Fast Path Optionで制限されている機能を使用している場合でもリンクは成功しますが,制限された機能を実行しようとした時点でCORBA::IMP_LIMIT例外が発生します(TX関数の場合は,戻り値としてTX_FAILが返ります)。
通常のOTSからOTS Fast Path Optionへのアプリケーションプログラムの移行は,使用機能の調査などを含めて慎重に行ってください。
(2) 通常のOTSアプリケーションとの共存
OTS Fast Path Optionを使用したアプリケーションプログラムと,通常のOTSを使用したアプリケーションプログラムを同時に使う場合は,次の制約がありますので注意してください。
-
複数のマシンで相互に通信する場合
通常のOTSアプリケーションとOTS Fast Path Optionを使用するアプリケーションプログラムとの間でトランザクションの連携(プロパゲーション)はできません。誤ってプロパゲーションを行った場合,サーバからCORBA::INVALID_TRANSACTION例外が返され,トランザクションがロールバックされます。ただし,サーバ側のTPBrokerがOTS Fast Path Optionをサポートしていないバージョンの場合は,サーバアプリケーションが異常終了するときがあります。
-
同一マシン上の場合
通常のOTSアプリケーションとOTS Fast Path Optionを使用するアプリケーションプログラムとの間でトランザクションの連携(プロパゲーション)はできません。誤ってプロパゲーションを行った場合,サーバからCORBA::INVALID_TRANSACTION例外が返され,そのトランザクションがロールバックされます。
-
同一プロセス(プログラム)上の場合
通常のOTSライブラリとOTS Fast Path Optionを同時に使用(リンクまたはダイナミックロード)しないでください。同時に使用した場合は,動作は保証されません。
通常のOTSとOTS Fast Path Optionとの間のプロパゲーションを防ぐために,通常のOTSを使用したサーバアプリケーションとOTS Fast Path Optionを使用したサーバアプリケーションとでは,必ず異なるオブジェクト名を使用してください。同じオブジェクト名を使用していると,クライアントアプリケーションからの_bindメソッドによって誤って接続してしまう可能性があります。