3.5.3 オブジェクトのアクティブ化ポリシーの定義

CORBAサーバーを開発する過程では、オブジェクトのアクティブ化ポリシーを設定して、どのイベントでオブジェクトがアクティブ化および非アクティブ化されるのかを指定します。

CORBAサーバー・アプリケーションでは、実装構成ファイル(ICF)でオブジェクトのアクティブ化ポリシーを指定します。テンプレートのICFファイルは、genicfコマンドで作成します。

ノート:

トランザクション・ポリシーもICFファイルで定義します。Oracle Tuxedo CORBAアプリケーションでのトランザクションの使用については、Oracle Tuxedoオンライン・ドキュメントの『CORBAトランザクションの使用』を参照してください。
Oracle Tuxedoソフトウェアは、次の表に示すアクティブ化ポリシーをサポートしています。

表3-4 アクティブ化ポリシー

アクティブ化ポリシー 説明
method オブジェクトの操作の呼出しの間だけオブジェクトをアクティブ化します。これはデフォルトのアクティブ化ポリシーです。
transaction 操作が呼び出されたときにオブジェクトをアクティブ化します。オブジェクトがトランザクションのスコープ内でアクティブ化された場合、そのオブジェクトはトランザクションがコミットされるかロールバックされるまでアクティブな状態を保ちます。
process 操作が呼び出されたときにオブジェクトをアクティブ化し、次のいずれかが起こったときのみオブジェクトを非アクティブ化します:
  • サーバー・アプリケーションの存在するプロセスが停止されました。
  • TP::deactivateEnable()メソッド(C++)がオブジェクトで呼び出されました。

Simpappサンプル・アプリケーションのSimpleインタフェースには、メソッドのデフォルトのアクティブ化ポリシーが割り当てられます。オブジェクトの状態の管理およびアクティブ化ポリシーの定義の詳細は、Oracle Tuxedoオンライン・ドキュメントの『CORBAサーバー・アプリケーションの作成』を参照してください。