我的应用程序在 Tomee 1.7.2 上运行。 (我们称它为 myApp)
openejb-jar.xml:
<openejb-jar>
<properties>
openejb.deploymentId.format = myApp/{ejbName}
openejb.jndiname.format = {deploymentId}{interfaceType.annotationName}
</properties>
</openejb-jar>
MyApp 包含 MyEJB ejb。
当我启动 tomee 时,这里是 catalina.out 日志:
INFO: ------------------------- myApp -> /
INFO: Auto-deploying ejb MyEJB: EjbDeployment(deployment-id=myApp/MyEJB)
INFO: Jndi(name=myApp/MyEJBLocalBean) --> Ejb(deployment-id=myApp/MyEJB)
INFO: Jndi(name=global/MyEJB!dao.MyEJB) --> Ejb(deployment-id=myApp/MyEJB)
INFO: Jndi(name=global/MyEJB) --> Ejb(deployment-id=myApp/MyEJB)
INFO: Created Ejb(deployment-id=app1/MyEJB, ejb-name=MyEJB, container=Default Stateless Container)
如您所见,一个 MyEJB 有 3 个 Jndi 名称:
- 我的应用程序/我的EJBLocalBean
- global/MyEJB!dao.MyEJB
- 全局/MyEJB
我的问题是:
我可以指定 global/MyEJB!dao.MyEJB & global/MyEJB 的名称吗??
例如: global/MyEJB -> global/myApp/MyEJB
假设您有 2 个应用程序,每个应用程序都具有 MyEJB ejb,都具有全局/MyEJB JNDI 名称:(
谢谢
最佳答案
Imagine case that you have 2 apps having each MyEJB ejb, both havign global/MyEJB JNDI name :(
这应该可以解决问题 - {moduleId}。
openejb.deploymentId.format = {moduleId}/{ejbName}
关于java - OpenEJB:无法指定全局 JNDI 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944203/