默认情况下,它似乎是一个bean的JNDI名称是基于包含它的耳朵。 一个名为EJB为myBean我-app.ear将有名为“我的应用程序内/为myBean /本地”。
我怎样才能改变这种行为声明? 我想JNDI名称为“东西,否则/为myBean /本地”。 它必须声明,而不是与注释B / C我不能修改MyBean.java的来源; 我只有罐子,这我包装成一个耳朵进行部署。
默认情况下,它似乎是一个bean的JNDI名称是基于包含它的耳朵。 一个名为EJB为myBean我-app.ear将有名为“我的应用程序内/为myBean /本地”。
我怎样才能改变这种行为声明? 我想JNDI名称为“东西,否则/为myBean /本地”。 它必须声明,而不是与注释B / C我不能修改MyBean.java的来源; 我只有罐子,这我包装成一个耳朵进行部署。
您可以在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>
我不太子港既成事实与EJB3(这是太少太迟就我而言),但与EJB2您可以通过modifyig的的jboss.xml描述符的EJB JAR的META-INF里面去做到这一点。 具体而言,您修改EJB定义的元素。
如果这并不适用于EJB3(和我认识到,EJB3是描述 - 精简版),我向你道歉,请不要向下投我:)