我看过很多帖子,我用谷歌搜索了很多,但我无法摆脱这个问题。
我在 glassfish v 3.1.2 上部署了一个 EJB 模块,我想通过 tomcat v 7 访问它。当服务器在同一主机上运行时似乎没有问题,但是当它们在不同的主机上时(即不同的机器)会引发很多问题。即使有两个 glassfish 服务器。
我关注 了 http://technology.amis.nl/2006/10/20/connecting-to-an-ejb-30-remote-sessionbean-from-tomcat/
还有很多其他类似的链接也可以在 stackexchange 中找到,我不会在这里报告,因为它们都提出了相同的建议,即:
将这行代码放入您的代码中,即一个 servlet:
属性 props = new Properties(); props.put("java.naming.factory.initial","com.sun.enterprise.naming.SerialInitContextFactory"); props.put("java.naming.factory.url.pkgs","com.sun.enterprise.naming"); props.put("java.naming.factory.state","com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl"); props.setProperty("org.omg.CORBA.ORBInitialHost", "10.23.2.150"); props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
你们中的许多人还建议在路径中包含:
- glassfish 的 gf 客户端(你有没有想过在 tomcat 上我可能无法引用 glassfish 库)
- 或所有引用 gf-client 的库(接近 10 兆文件)
但不起作用..
我仍然得到initialcontext directory not found问题..
你能建议我任何解决方案吗?你可以建议我一步一步地遵循“教程”以使一切顺利吗?
如果您需要任何代码或完整的错误,请回答我,差不多 1 周我正在尝试解决这个问题..
非常感谢你