部署到Glassfish的多个实例,打断我的耳朵

部署到Glassfish的多个实例,打断我的耳朵,glassfish,glassfish-3,remote-access,ejb-3.1,ear,Glassfish,Glassfish 3,Remote Access,Ejb 3.1,Ear,我有一个小型EAR-JEE6应用程序,它由3个模块组成(EAR+EJB+WEB)。 有3个文件:ear、jar和war——ear文件保存jar和war文件 我的问题: 我想在两台不同的机器(IP-1和IP-2)上设置两台glassfish服务器,我想在IP-1上部署EJB(jar文件),在IP-2上部署WEB(war文件) 我的Web项目有一个servlet,它依赖于我的EJB项目中的无状态bean。我无法理解这件事 web项目如何在EJB项目中找到无状态bean? 我需要某种“全局”的查找服务

我有一个小型EAR-JEE6应用程序,它由3个模块组成(EAR+EJB+WEB)。 有3个文件:ear、jar和war——ear文件保存jar和war文件

我的问题:
我想在两台不同的机器(IP-1和IP-2)上设置两台glassfish服务器,我想在IP-1上部署EJB(jar文件),在IP-2上部署WEB(war文件)

我的Web项目有一个servlet,它依赖于我的EJB项目中的无状态bean。我无法理解这件事

web项目如何在EJB项目中找到无状态bean? 我需要某种“全局”的查找服务(在这里我可以输入所有的IP地址)-这里只是猜测


这是可能的吗?

您可以通过Java命名和目录接口()实现这一点

您必须以如下方式手动查找bean:

Context ic = new InitialContext();
Object o = ic.lookup("java:comp/env/ejb/Foo");

更多细节可以在这里找到:或者在。

谢谢。但是如果我把这些行放在Servlet中,如果它部署在另一个IP地址上,它将如何找到“java:comp/env/ejb/Foo”呢?试试{InitialContext context=new InitialContext();capitalablebanremote bean=(capitalablebanremote)context.lookup(“java:global/RemoteEJBModule/CapitalBean”);messageTextField.setText(bean.getCapital(“Japan”);context.close();}catch(异常e){e.printStackTrace();}web项目必须依赖于EJB项目,因为CapitalBeanRemote是EJB项目的一部分?