IBM WebSphere Application Server 常见问题及解答专题是关于 IBM WAS 产品家族的问题集锦,其中收集了客户在使用此产品时遇到的一些常见问题。这本问题解答可以被看作是对产品使用手册以及 WebSphere Application Server 在线信息中心的补充。在多个独立的 WebSphere 应用程序服务器环境中,一个服务器上的应用程序该如何访问运行在其他服务器上的应用程序?
7. 在多个独立的 WebSphere
应用程序服务器环境中,一个服务器上的应用程序该如何访问运行在其他服务器上的应用程序?
答:
这涉及到名字空间(namespace)的联合问题。举例说明:
假设我们有两个独立的WebSphere
应用服务器Server1和Server2,为了让Server1上运行的程序能够访问Server2上的EJB程序,我们需要使用CorbaName绑定Server1和Server2的名字空间。在联合上下文之前,运行Server1上的<WAS_INSTALL>/bin目录下的dumpNameSpace.sh/bat命令,如:
dumpNameSpace.sh -root server –port 2809 这时只会列出Server1的名字空间里的内容。下面,我们把Server2的名字空间绑定到Server1上。在Server1的管理控制台上,选择“环境”>“命名”>
“名称空间绑定”,作用域选择“节点1”>“Server1”,点击“新建”, 选择“CORBA”绑定类型,
指定“绑定标识”,在名称空间中的名称中输入Server2(这是我们希望使用的名字),在“Corba名称
URL”中输入如下类似内容:
corbaname:iiop:*.*.*.*:2810#nodes/NODE1/servers/server2
选中“联合上下文”。此时,运行:
dumpNameSpace.sh -root server –port 2809
这时也会列出Server2的名字空间里的内容。于是,当我们把Server1作为Server2的Client 时,原来的 JNDI
名字“ejb/ibm/CMPHome”应该被改成“server2/ejb/ibm/CMPHome”。
综上,为了让不同服务器上的应用程序实现互访,关键要做到名字空间的共享。一旦把一台服务器的名字空间共享给另一台服务器,则第二台服务器上的应用程序通过修改JNDI名字,就可以轻松访问第一台服务器上的应用程序了。
返回“WebSphere
Application Server 常见问题及解答”专栏。
|