1.5.3 ファクトリ・ベースの実装のしくみ
ファクトリ・ベース・ルーティングを実装するには、ファクトリがオブジェクト参照を作成する方法を変更する必要があります。まず、システム設計者と協力して、ルーティングの基準として使用するフィールドや値を決定する必要があります。次に、各インタフェースに対して、グループIDの決定に使用されるルーティング基準を表すパラメータを指定するファクトリのインタフェース定義など、ファクトリ・ベース・ルーティングを構成する必要があります。
ファクトリ・ベース・ルーティングを構成するには、UBBCONFIGファイルに次の情報を定義する必要があります:
INTERFACESセクションに、CORBAインタフェースのルーティング基準識別子。GROUPSセクションに、システムの分散に必要な数のサーバー・グループ。ROUTINGセクションに、ルーティング基準。- 必要に応じてグループ、マシンおよびデータベース。
ノート:
ファクトリ・ベース・ルーティングを実装している場合、2つのグループのどちらにも同じオブジェクト実装が含まれていると、特定のインタフェースおよびOIDを持つ1つのオブジェクトを異なる2つのグループで同時にアクティブ化できることに注意してください。ファクトリで一意のOIDが生成される場合には、これを回避できます。特定のインタフェース名およびOIDのオブジェクト・インスタンスが、ドメイン内で一度に1つのみ使用可能になるようにするには、次のいずれかを行う必要があります。- 特定のOIDのオブジェクトが常に同じグループにルーティングされるようにファクトリ・ベース・ルーティングを使用するか、または
- 特定のオブジェクト実装が1つのグループのみに含まれるようにドメインを構成します。
特定のインタフェース名およびOIDを含むオブジェクト参照が複数のクライアントにある場合、参照は常に同じオブジェクト・インスタンスにルーティングされます。
したがって、オブジェクト参照には、ターゲット・サーバーが存在する場所を示すために使用される追加情報が含まれます。ファクトリ・ベース・ルーティングは、オブジェクト参照の作成時に、CORBAオブジェクトごとに1回実行されます。