远程EJB查找在glassfish中的两个耳朵之间2.1
我有2个EARS。 第一个EAR包含所有带接口的罐子(EAR_INTERFACE.ear)。 这些接口被标记为远程。
第二只耳朵包含ejbs(EAR_EJB)。 这些ejbs从第一只耳朵实现了@remote接口。EJB是无状态的并且具有mappedName。 为了得到对ejb的引用,我使用我的第二个EAR中的ejb的mappedName来做jndi查找。
在这里我面对这个问题,我无法获得对远程EJB的引用。 如果接口和ejbs在同一个EAR中,则查找成功,但在不同的EAR之间失败。
我使用的是glassfish server v2.1,ejb 3.0。
我搜索了这个问题,并发现了关于父母孩子的EAR。 这会解决我的问题吗? 如果是的话,如何实现这一点。 我需要在EAR的application.xml中提到一些东西。
请建议我解决问题的最佳选择。
它看起来像玻璃鱼2.1有问题
如果接口与ejb不在同一模块中,则查找失败。 该接口不由类加载器加载,因此不会生成存根。
我的ejb罐子在耳边,接口在另一个罐子里。 一些我如何找出解决这个问题的方法。 在部署耳朵之前,将接口jar保存在domain / domain1 / lib / ext中,重新启动glassfish。 部署包含ejbs的耳朵。 部署完成后,将界面jar复制到application / j2ee-apps /并重新启动glassfish。 然后,如果我尝试查找,查找成功。
如果有人遇到类似问题或有更好的解决方法,请回复。
谢谢
你如何做JNDI查找?
我们有一些GF 2.1服务器,如果EJB在不同的项目中,唯一的解决方法是像这样查找它:
RemoteInterface bean = null;
Properties props = new Properties();
props.setProperty("org.omg.CORBA.ORBInitialHost", "host");
props.setProperty("org.omg.CORBA.ORBInitialPort", "port");
InitialContext ctx = new InitialContext(props);
RemoteInterface bean = (RemoteInterface)
ctx.lookup("full.qualified.name.RemoteInterface");
链接地址: http://www.djcxy.com/p/58781.html