OpenEJB:无法指定全局JNDI名称

时间:2015-08-11 14:12:52

标签: java jndi tomee openejb

我有应用程序在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。

当我开始在这里开始是 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名称:

  • 对myApp / MyEJBLocalBean
  • 全球/ MyEJB!dao.MyEJB
  • 全局/ MyEJB

我的问题是:

我可以指定 global / MyEJB!dao.MyEJB &amp;的名称吗? global / MyEJB ??

例如: global / MyEJB - &gt;的全局/对myApp / MyEJB

想象一下,你有2个应用程序拥有每个MyEJB ejb的情况,都有havign global / MyEJB JNDI名称:(

由于

1 个答案:

答案 0 :(得分:1)

  

想象一下,你有2个应用程序拥有每个MyEJB ejb,两个都是havign   global / MyEJB JNDI名称:(

这应解决问题 - {moduleId}

openejb.deploymentId.format = {moduleId}/{ejbName}