我正在 JBoss 7.1.1 上部署一个 Java EE 应用程序,当我的会话 bean 被部署时,JBoss 打印出一条消息,说它已经创建了多个 JNDI 绑定。像这样的东西:
java:global/ear-name/jar-name/MyClassImpl!fully.qualified.path.to.Interface
java:app/jar-name/MyClassImpl!fully.qualified.path.to.Interface
java:module/MyClassImpl!fully.qualified.path.to.Interface
java:jboss/exported/ear-name/jar-name/MyClassImpl!fully.qualified.path.to.Interface
java:global/ear-name/jar-name/MyClassImpl
java:app/jar-name/MyClassImpl
java:module/MyClassImpl
它从 EJB 到 EJB 略有不同,但这是一般的想法。
我对这里发生的事情感到困惑。为什么有这么多?这些 JNDI 绑定之间有区别吗?如果有,应该在什么时候使用它们?