ORBには、COS NameServicesのインスタンスを作成するために使用できるNameServiceFactory初期オブジェクト参照があります。LifespanPolicy引数を使用して、一時的または持続的ネームスペースのいずれを使用するかを指定できます。一時的ネームスペースには一時的NamingContextオブジェクトがあり、オブジェクトの状態もまた、持続的なものに設定されません。つまり、NameServiceがあるサーバが終了すると、ネームサービスはアクセスできなくなります。持続的NameServiceは持続的NamingContextオブジェクトを使用し、その状態もまた持続的です。持続的ネームスペースは、サーバがアクティブでないときも常に利用可能です。
AccessPolicyを使用してネームスペースをセキュリティ保護することもできます。
package com.sssw.jbroker.api.naming;
import org.omg.PortableServer.POA;
import org.omg.PortableServer.LifespanPolicyValue;
public interface NameServiceFactory extends org.omg.CORBA.Object
{
/**
* Create a Name Service.
*/
NameService createNameService(POA parent, String serviceName,
LifespanPolicyValue lifespan, AccessPolicy accessPolicy,
String realm);
/**
* Create a Name Service using the user supplied DataStore.
*/
NameService createNameService(POA parent, String serviceName,
LifespanPolicyValue lifespan, DataStore dataStore,
AccessPolicy accessPolicy, String realm);
}
一時的NameServiceの例
このサンプルプログラムでは、NameServiceFactoryを使用して一時的なNameServiceを作成し、IRS(Initial References Service)を使用して初期オブジェクト参照としてルートコンテキストをバインドします。持続的NameServiceの例
このサンプルプログラムでは、NameServiceFactoryを使用して持続的なNameServiceを作成し、IRS(Initial References Service)を使用して初期オブジェクト参照としてルートコンテキストをバインドします。 デフォルト設定では、ORBにはデータストアがあり、$(JBROKER_HOME)/db/names/<server alias>/<serviceName>にネーミングコンテキストの状態を保存します。 ORBNamesDirectory プロパティを指定してオーバーライドできます。Makefileの例を参照してください。
Copyright © 1998-2003, Novell, Inc.All rights reserved.