我是EJB的新手并试图在Jboss 5中运行一些EJB(2.0)示例。执行没问题,但我在jboss.xml中找到了这些行:
<jboss>
<enterprise-beans>
<session>
<ejb-name>MyStatelessBean</ejb-name>
<jndi-name>JNDIName</jndi-name>
<local-jndi-name>LocalJNDIName</local-jndi-name>
</session>
</enterprise-beans>
</jboss>
我试图谷歌但无法找到<jndi-name>
和<local-jndi-name>
之间截然不同的解释,而在代码中,作者只使用<jndi-name>
中定义的名称?
答案 0 :(得分:1)
您可以在JBoss发行版docs
的{{1}}目录中找到文档。
这些元素是docs/schema/jboss_5_0.xsd
类型的定义,下面是对它的描述:
应绑定具有本地接口的JNDI名称。如果不是 如果jboss将假设“jndi-name”=“beanClass / local”
答案 1 :(得分:1)
EJB 2.x bean同时具有远程和本地接口。 <jndi-name>
元素用于绑定Remote接口,而<local-jndi-name>
用于绑定本地接口。
命名不一致的原因是EJB 1.x只有远程接口,因此只需要<jndi-name>
。