インプロセスNameServiceの作成

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.