次のIDLインタフェース定義では、「初期化エージェント」のインタフェースが提供されます。この定義の目的は、resolve_initial_referencesおよびlist_initial_servicesというORBメソッドを実装するために、ORB実装によって使用されることです。 相互運用可能なクライアントORBでは、InitialReferencesインタフェースを実装する「初期化エージェント」に呼び出しを送信します。 すると、エージェントでは、要求された情報をクライアントORBに返信します。 最初の操作のgetでは、要求されたサービスIDである文字列を受け付け、要求されたサービスのオブジェクト参照を返すか、または何も見つからない場合はNILオブジェクト参照を返します。 2番目の操作のlistでは、引数を受け付けずに、サポートされているサービスを含むObjectIDList (文字列のシーケンス)を返します。
interface InitialReferences
{
typedef sequence<string> ObjectIdList;
Object get(in string objectId);
ObjectIdList list();
};このインタフェースは、オブジェクトキーの長さが4バイトの特別なオブジェクトによって実装されます。オブジェクトキーの値は、常に、ISOLatin-1 (8859.1)を使用してエンコード化された4文字(大文字)の「INIT」(16進値は0x49 0x4e 0x49 0x54、32ビットの語は0x494e4954)です。 このオブジェクトでは、前のIDLを使用して定義されたインタフェースを実装します。CORBA::Objectで定義された操作(is_a、get_implementation、get_interfaceなど)をすべて実装する必要はありません。
ブートストラッププロトコルのjBroker実装
jBrokerのすべてのプロセスでは、「初期化エージェント」が実行されます。 ローカルAPI (「Initial References Service」を参照)は、ローカル/リモート初期オブジェクト参照を発行するだけでなく、指定のホストおよびポートに対する「初期化エージェント」を取得するためにも提供されます。 jBrokerデーモンは、サーバ起動やセキュリティなどをサポートするためのオブジェクト参照がある「識別初期化エージェント」を実行します。jBroker ORBインスタンスは、ORBDefaultInitRefプロパティまたはパラメータを使用して、ある「初期化エージェント」のアドレスを含むIIOP URLで設定する必要があります。ORBDefaultInitRefを指定しなかった場合、これは、デフォルトにより、jBrokerデーモンがリッスンするポートであるiiopboot://localhost:2506に設定されます。
- Javaシステムプロパティの設定
java -DORBInitailURL=iiopboot://godel:2506 MyServer
- ORB.initのプロパティの受け渡し
Properties props = new Properties();
props.put("ORBDefaultInitRef", "iiopboot://godel:2506");
orb.init(props, args);
- ORB.iniへのプログラムパラメータの引き渡し
java MyServer -ORBDefaultInitRef iiopboot://godel:2506
and then,
public static void main(String[] args)
{
...orb.init(props, args);
...
}注記: ポート2506は、IANAからNovellによって予約されます。
Copyright © 1998-2003, Novell, Inc. All rights reserved.