JNDI (Java Naming and Directory Interface) é uma extensão Java padrão que fornece uma API uniforme para acessar vários serviços de diretório e de nomenclatura.
Os clientes JMS utilizam JNDI para procurar um serviço de nomenclatura para obter referências a objetos administrados. Objetos administrados são objetos de connection factory JMS e de destino JMS, nos quais os objetos de destino JMS são tópicos e filas. Os objetos administrados são criados e configurados por um administrador do sistema.
Para criar e configurar objetos administrados por JNDI, consulte a documentação do provedor JMS. Se você estiver utilizando o provedor JMS do WebSphere MQ, consulte o arquivo de definições JMSAdmin de amostra incluído no WebSphere MQ e consulte o manual WebSphere MQ Using Java.
Os objetos administrados por JNDI são armazenados nas ligações. Pode ser baseado no sistema de arquivos ou baseado em LDAP. O LDAP (Lightweight Directory Access Protocol) é um protocolo de software que permite que qualquer pessoa localize organizações, pessoas e outros recursos; por exemplo, localizar arquivos e dispositivos em uma rede, na Internet pública ou em uma intranet corporativa.
O LDAP faz parte do X.500, que é um padrão para serviços de diretório em uma rede.
Um serviço de nomenclatura associa nomes a objetos distribuídos para que os objetos administrados sejam localizados utilizando nomes e não endereços de rede complexos. A JNDI fornece uma abstração que oculta as informações específicas do serviço de nomenclatura, que torna aplicativos clientes mais portáteis.
Um cliente JMS especifica um JNDI InitialContext para obter uma conexão JNDI com o servidor do sistema de mensagens JMS. O InitialContext é o ponto inicial em qualquer consulta JNDI e age como a raiz de um sistema de arquivos. O serviço de diretório JMS que está sendo utilizado determina as propriedades utilizadas para criar um InitialContext.