Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド

[目次][索引][前へ][次へ]

29.3 サービス活性化のアプローチ方法

サーバは,多数のオブジェクト(通常,数千個のオブジェクト。数百万個のオブジェクトの場合もある)に対してインプリメンテーションを提供する必要があります。任意の一時点で活性化する必要のあるインプリメンテーションの数が少ない場合,サービス活性化を使用できます。サーバはこれらの補助オブジェクトのどれかが必要になると通知を受ける単一のActivatorを提供できます。サーバはこれらのオブジェクトが使用されていない場合に非活性化することもできます。

例えば,状態がデータベースに格納されるオブジェクトインプリメンテーションをロードするサーバに対してサービス活性化を使用すると仮定します。Activatorには所定の型または論理区分のオブジェクトをすべてロードする責任があります。VisiBroker ORBリクエストがこれらのオブジェクトのリファレンスで発行されると,Activatorは通知を受け,データベースからロードされる状態を持つ,新しいインプリメンテーションを生成します。Activatorはオブジェクトがメモリに存在しなくなったと判断し,オブジェクトが変更されている場合,そのオブジェクトの状態をデータベースに書き込み,インプリメンテーションを解放します。

サービスの活性化の遅延プロセスを図29-1に示します。

図29-1 サービスの活性化の遅延プロセス

[図データ]

<この節の構成>
29.3.1 サービスアクティベータを使用したオブジェクト活性化の遅延
29.3.2 サービスの遅延オブジェクト活性化のサンプル
29.3.3 サービス活性化オブジェクトインプリメンテーションの非活性化(C++)