JNDI(Java 命名和目录接口)是标准 Java 扩展,提供用于访问各种目录和命名服务的统一 API。
JMS 客户机使用 JNDI 来浏览命名服务,获取对受管对象的引用。受管对象是 JMS 连接工厂和 JMS 目标对象,其中 JMS 目标对象是主题和队列。受管对象由系统管理员创建和配置。
要创建及配置 JNDI 受管对象,请参阅 JMS 提供程序文档。如果您正在使用 WebSphere MQ JMS 提供程序,请参阅 WebSphere MQ 包含的样本 JMSAdmin 定义文件,并参阅《使用 Java 的 WebSphere MQ》一书。
JNDI 受管对象存储在绑定中。绑定可以基于文件系统或基于 LDAP。LDAP(轻量级目录访问协议)是一个软件协议,它使任何人都能够找到组织、个人和其他资源;例如,在网络(公共因特网或企业内部网)中查找文件和设备。
LDAP 是 X.500 的一部分,后者是在网络中用于目录服务的一个标准。
命名服务将名称与分布式对象关联,以便使用名称和不复杂的网络地址找到受管对象。JNDI 提供隐藏命名服务细节的抽象,使客户机应用程序更加简洁。
JMS 客户机指定 JNDI InitialContext 来获取到 JMS 消息传递服务器的 JNDI 连接。InitialContext 是任何 JNDI 查找中的起始点,它充当文件系统的根。所使用的 JMS 目录服务将确定用来创建 InitialContext 的属性。