Meaning of all of the JNDI names in JBoss 7

jboss, jboss7.x, jndi

Solution

You can find all the documentation here [1] but in short some of it is dictated by spec and some are functionality specific to JBoss (mainly java:jboss/exported, java:jboss entries)

[1] https://docs.jboss.org/author/display/AS71/JNDI%20Reference.html

Problem

I'm deploying a Java EE application on JBoss 7.1.1, and when my session beans get deployed, JBoss prints out a message saying that it has created multiple JNDI bindings. Something like this: ``` 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 ``` It varies a little bit from EJB to EJB, but that's the general idea. I'm confused about what's going on here. Why are there so many of them? Is there a difference between these JNDI bindings? If there is, when should each of them be used?

Original source