ejb:/ is the proprietary namespace used by JBoss for remote clients.
It was introduced in JBoss AS 7.x and replaces the standard remote JNDI method de facto using the same JNDI namespace as the local one, but provide the properties to the original context that indicates where the remote server is located.
The reason for the existence of ejb:/ twofold. According to JBoss, the de facto way to make JNDI remote access is not specified in the Java EE specification, so there is no reason to stick with it. One of the goals of JBoss AS 7 was to explore different ways of doing things, and because of its specification holes, remote EJBs were simply offered here.
With the ejb:/ namespace, it might be easier for the remote "driver" to intercept requests for the remote EJB beans and at the same time provide the ability to request only EJB beans and not tell the JMS queues (for which he also did not specify how to retrieve them remotely ) and worse than all data sources.
source share