标签:ejb-3-1 glassfish java java-ee
我目前有一个包含EJB和WAR的J2EE项目.一切顺利,而最后一个EAR中只捆绑了一个WAR和一个EJB模块.我现在需要使用相同的EJB模块开发另一个WAR.
因此,我在新WAR的库中添加了EJB模块.问题是,当我尝试部署与两个WAR和共享EJB捆绑在一起的EAR时,出现以下异常:
引起原因:java.lang.RuntimeException:为EJB绑定JNDI名称com.alex.ejb.MyBeanRemote__3_x_Internal_RemoteBusinessHome__时出错:
当我从第二个WAR的库中删除EJB时,一切又恢复了.
有什么我想念的吗?
最后,真正的问题是“如何在多个Web应用程序之间共享EJB?”
感谢帮助
解决方法:
The problem is when I try to deploy the EAR bundled with the two WAR and the shared EJB, I get the following exception (…)
那是因为bean被两次部署,导致命名冲突.实际上,这不是使用EAR打包时应该打包应用程序的方式.
Finally, the real question is “how to share an EJB within multiple web applications ?”
不要将EJB模块放在Web模块的WEB-INF / lib文件夹中,您的EAR应该具有以下结构:
myear.ear |-- META-INF | |-- application.xml | `-- sun-application.xml (optional) |-- myejbmodule1-ejb.jar |-- ... |-- myejbmoduleN-ejb.jar |-- mywebapp1-war.war `-- mywebapp2-war.war
资源资源
> Java EE 6教程
> EJB3实战
> Packaging EJB 3 Applications
标签:ejb-3-1,glassfish,java,java-ee 来源: https://codeday.me/bug/20191105/1997141.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。