如何指定不同的JNDI名称不是默认了JBoss中4.2.2.GA的EJB?(How to speci

2019-09-16 10:39发布

默认情况下,它似乎是一个bean的JNDI名称是基于包含它的耳朵。 一个名为EJB为myBean我-app.ear将有名为“我的应用程序内/为myBean /本地”。

我怎样才能改变这种行为声明? 我想JNDI名称为“东西,否则/为myBean /本地”。 它必须声明,而不是与注释B / C我不能修改MyBean.java的来源; 我只有罐子,这我包装成一个耳朵进行部署。

Answer 1:

您可以在jboss.xml中提供此

http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_deployment_descriptor.html

JNDI名称元素是你想要的。

例:

<jboss>
   <enterprise-beans>
      <service>
         <ejb-class>org.jboss.ejb3.test.service.ServiceSix</ejb-class>
         <local>org.jboss.ejb3.test.service.ServiceSixLocal</local>
         <remote>org.jboss.ejb3.test.service.ServiceSixRemote</remote>
         <management>org.jboss.ejb3.test.service.ServiceSixManagement</management>
         <jndi-name>serviceSix/remote</jndi-name>
         <local-jndi-name>serviceSix/local</local-jndi-name>
      </service>
   </enterprise-beans>
</jboss>


Answer 2:

我不太子港既成事实与EJB3(这是太少太迟就我而言),但与EJB2您可以通过modifyig的的jboss.xml描述符的EJB JAR的META-INF里面去做到这一点。 具体而言,您修改EJB定义的元素。

如果这并不适用于EJB3(和我认识到,EJB3是描述 - 精简版),我向你道歉,请不要向下投我:)



文章来源: How to specify a different jndi-name than the default for an EJB in JBoss 4.2.2.GA?