Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド
サーバントマネージャは,サーバントを見つけて返す,サーバントを非活性化する,という2種類のオペレーションを行います。サーバントマネージャは,非アクティブなオブジェクトに対するリクエストが受信された時にPOAがオブジェクトを活性化できるようにします。サーバントマネージャの使用は任意です。例えば,起動時にサーバがすべてのオブジェクトをロードする場合は,サーバントマネージャは不要です。サーバントマネージャは,ForwardRequest例外を使用してほかのオブジェクトにリクエストを転送するようにクライアントに知らせることもできます。
サーバントは,インプリメンテーションのアクティブなインスタンスです。POAはアクティブなサーバントとサーバントのオブジェクトIDのマップを維持します。クライアントリクエストを受信すると,POAはまずマップをチェックして(クライアントリクエストに埋め込まれている)オブジェクトIDが記録されているかどうかを調べます。このオブジェクトIDが見つかれば,POAはリクエストをサーバントに転送します。オブジェクトIDがマップになければ,サーバントマネージャは適切なサーバントの探索と活性化を要求されます。これは,あくまでもシナリオ例です。正確なシナリオは実際に使用するPOAポリシーによって異なります。サーバントマネージャ機能の例を図7-2に示します。
サーバントマネージャにはServantActivatorとServantLocatorという二つのタイプがあります。どのコールバックを使用するかは,設定済みのポリシーのタイプによって決定します。POAポリシーの詳細については,「7.2 POAポリシー」を参照してください。一般には,ServantActivatorがパーシステントオブジェクトを活性化し,ServantLocatorがトランジェントオブジェクトを活性化します。
All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.