WildFly JNDI Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Enterprise Naming Context (ENC)

The Enterprise Naming Context (ENC) and application component environment are terms that can be used interchangeably.


Each JEE component has an enterprise naming context (ENC). The default value is "java:comp/env". The container binds various resources into a component's ENC during deployment, using relative names.

JNDI and Remoting

See

EAP 7 Note Concerning Remoting

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:

How to Activate the Remoting Naming Server

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:

Importing an External JNDI Context

Remote Programmatic JNDI Access

Remote Programmatic JNDI Access

HA JNDI

TODO

What does this mean? remoting://host1:4447,host2:4547