我正在设置一个访问已部署 EJB 的 servlet 客户端。EJB 部署在 2 节点设置中WebSphere 8.5
。在每台服务器上,我将部署访问 EJB 的 Servlet。人们将连接到内部将连接到 EJB 并返回响应的 Servlet。
要访问 EJB,我需要初始化上下文。我相信代码看起来在下面几行。
private void doSomething() {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL,"iiop//host:port");
Object obj;
try{
InitialContext ctx = new InitialContext(env);
obj = ctx.lookup("EjbSample");
} catch(Exception ne){ ... }
}
我的问题是:
我在哪里可以找到
iiop//host:port
连接 EJB 的主机和端口。WebSphere 管理控制台中的某个地方?有配置文件吗?因为我有 3 个节点设置。我在每个节点中有 2 个名为 ClusterServlet 和 ClusterEJB 的集群。IIOP 主机和端口会因节点而异,还是在两个节点之间是一致的?
[编辑 1]:当我尝试从运行 WAS 的同一主机访问 EJB 时,出现以下错误
javax.naming.NameNotFoundException:在上下文“serverlocal:CELLROOT/SERVERROOT”中找不到名称“EjbSample”