如何为JBoss 4.2.2.GA中的EJB指定不同于默认值的jndi名称?
默认情况下,bean的jndi名称似乎基于包含它的ear。名为MyBean my-app.ear的EJB将具有名称“my-app/MyBean/local” 我如何以声明的方式改变这种行为?我希望jndi名称为“something other/MyBean/local”。它必须是声明性的,而不是带有注释的b/c,我不能修改MyBean.java的源代码;我只有jar,我正在将其打包到ear中进行部署。我不太熟悉EJB3(就我而言,这太晚了),但是对于EJB2,您可以通过修改EJB jar META-INF中的jboss.xml描述符来实现这一点。具体来说,您可以修改EJB定义的元素如何为JBoss 4.2.2.GA中的EJB指定不同于默认值的jndi名称?,jboss,ejb-3.0,jndi,Jboss,Ejb 3.0,Jndi,默认情况下,bean的jndi名称似乎基于包含它的ear。名为MyBean my-app.ear的EJB将具有名称“my-app/MyBean/local” 我如何以声明的方式改变这种行为?我希望jndi名称为“something other/MyBean/local”。它必须是声明性的,而不是带有注释的b/c,我不能修改MyBean.java的源代码;我只有jar,我正在将其打包到ear中进行部署。我不太熟悉EJB3(就我而言,这太晚了),但是对于EJB2,您可以通过修改EJB jar MET
如果这不适用于EJB3(我意识到EJB3是描述符lite),我很抱歉,请不要否决我:)您可以在jboss.xml中提供 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>
org.jboss.ejb3.test.service.ServiceSix
org.jboss.ejb3.test.service.ServiceSixLocal
org.jboss.ejb3.test.service.ServiceSixRemote
org.jboss.ejb3.test.service.ServiceSixManagement
服务六/远程
服务六/本地