We migrated from Jboss EAP 5 to EAP 6 in our development environment.
I now see the following in my JBOSS logs. I am trying to understand how this binding happens. I have read JBOSS docs on JNDI namespace binding. Still I am not totally clear how it works. Here is my log.
java:global/customerCare/services/UserDaoImpl!com.example.services.UserDao
java:app/services/UserDaoImpl!com.example.services.UserDao
java:module/UserDaoImpl!com.services.UserDao
java:global/customerCare/services/UserDaoImpl
java:app/services/UserDaoImpl
java:module/UserDaoImpl
Here are my EJBs
@Local
public interface UserDao {
public static final String JNDI_NAME = "java:global/customCare/services/UserDaoImpl";
//interface methods here
}
@Stateless
public class UserDaoImpl implements UserDao {
// implement methods
}
My doubts are:
I explicitly had
JNDI bindingto bejava:global/customCare/services/UserDaoImplin myUserDaointerface. Then why do I see I binding for others such asappandmodule.what is the difference between
appandmodule? when would binding to these components be needed? some example here to illustrate will be very helpfulThe last three lines of log show binding to
UserDaoImpl. Is it something that JBoss does without I ask it to bind? ( I set onlyUserDaobut notUserDaoImplfor JNDI binding).
I am a bit illiterate on JNDI Namespace binding. Reading docs helped me but not to great extent.
Thanks