WildFly JNDI Concepts
Internal
JNDI and Remoting
See
Exporting for access by Remote JNDI Clients
If an object registered to JNDI is supposed to be looked up by remote (running in different JVM) JNDI clients, then the object must be registered under the "java:jboss/exported" JNDI context. When it is looked up remotely, the "java:jboss/exported" prefix must be omitted.
For example, a JMS queue registered under "java:jboss/exported/jms/queue/TestQueue" can be looked up remotely as "jms/queue/TestQueue".
This is made possible by a remote naming server that exposes this namespace over remoting. The remote naming server has to be explicitly activated in configuration:
External JNDI Context
An external JNDI context is a JNDI context exported by a remote JNDI server that is mapped into the local JNDI namespace. External contexts are declared using the <external-context> element in the "naming" subsystem configuration.
Declaring an External JNDI Context
An external JNDI Context exported by a remote JNDI server can be "imported" and exposed as part of the local JNDI namespace. The external JNDI Context has to be explicitly exported by the remote JNDI server, as described in "Exporting for access by Remote JNDI Clients". Once exported by the remote JNDI server, the JNDI Context can be declared an "<external-context>" in the naming subsystem configuration and made accessible as part of the local JNDI namespace. Configuration details are available here:
Remote Programmatic JNDI Access
JNDI Namespaces
JNDI JEE Namespaces
java:global
The "java:global" JNDI namespace is the portable way of finding JEE components in the JNDI space of an application server instance, even if the components belong to another applications. For example, the following naming scheme applies to EJBs (for more details on the naming scheme see EJB and JNDI:
java:global[/<application-name>]/<module-name>/<distinct-name>/<bean-name>[!<view-class-name>]?stateful
Note that "java:global" does not seem to work to look up remote EJBs, meaning EJBs deployed on other application server instances. On JBoss, a name space that seems to work for that is "ejb:". For more details on finding and invoking remote EJBs, see Invoking into Remote EJBs and Session EJB and Servlet on Different JBoss Instances Example.
java:module
java:module/env
HA JNDI
TODO
What does this mean? remoting://host1:4447,host2:4547