示例:设置提供程序 URL 属性以选择不同的根上下文作为初始上下文

每个服务器包含它自已的服务器根上下文,并且当引导到服务器时,服务器根是缺省初始 JNDI 上下文。大多数时候,此缺省值是期望的初始上下文,这是因为在那里绑定系统工件(例如 EJB home)。然而,还存在与感兴趣的内容相关的其他根上下文。可以指定提供程序 URL 以选择其他根上下文。

以下是选择其他根上下文的示例:

用 CORBA 对象 URL 选择初始根上下文

向引导服务器注册了若干对象键,您可以用这些对象键为初始上下文选择根上下文。要使用 CORBA 对象 URL 对象键选择特定的根上下文,将对象键设置为相应的值。缺省对象键为 NameService。使用 JNDI 生成服务器根上下文。以下是列出不同的根上下文及其相应的对象键的表:

上下文根 CORBA 对象 URL 对象键
服务器根 NameServiceServerRoot
单元持久根 NameServiceCellPersistentRoot
单元根 NameServiceCellRoot
节点根 NameServiceNodeRoot

下面的示例显示使用设置了对象键的 corbaloc URL 将单元持久根上下文选择为初始上下文。

...
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
...
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
      "com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL,
      "corbaloc:iiop:myhost.mycompany.com:2809/NameServiceCellPersistentRoot");
Context initialContext = new InitialContext(env);
...

用名称空间根属性选择初始根上下文

您还可以通过将名称空间根属性设置传递到 InitialContext 结构程序来选择初始根上下文。通常,上面描述的对象键设置已足够。有时,属性设置更可取。例如,您可以在 Java 调用上设置根上下文属性,以让服务器根用作对于应用程序是透明的初始上下文。缺省服务器根属性设置为将生成服务器根上下文的 defaultroot

上下文根 名称空间根属性值
服务器根 bootstrapserverroot
单元持久根 cellpersistentroot
单元根 cellroot
节点根 bootstrapnoderoot

如果提供程序 URL 包含非 NameService 的对象键,那么初始上下文工厂将忽略名称空间根属性。

以下示例显示使用名称空间根属性来选择单元持久性根上下文作为初始上下文。注意,使用可用的常量而不是硬编码的属性名和值。

...
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import com.ibm.websphere.naming.PROPS;
...
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
      "com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL, "corbaloc:iiop:myhost.mycompany.com:2809");
env.put(PROPS.NAME_SPACE_ROOT, PROPS.NAME_SPACE_ROOT_CELL_PERSISTENT);
Context initialContext = new InitialContext(env);
...

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rnam_example_prop5
文件名:rnam_example_prop5.html