- 什么是JNDI
JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的是Java命名和目录接口,它提供了一种通过名字来访问各种资源和服务的Java API。在Java EE(Java Enterprise Edition)环境中,JNDI主要用于查找和访问企业级资源,如数据库连接池、消息队列、邮件服务等。
JNDI工作于客户端和服务提供者之间,允许客户端通过逻辑名字查找服务或资源,而不需要知道服务的具体位置或细节。这种抽象层使得应用程序可以在不修改代码的情况下更换服务提供者。
命名服务。JNDI提供统一的命名服务,允许客户端通过名字来查找对象或服务,而不是对象的物理ID。这些名字存储在命名目录中,如LDAP(轻量级目录访问协议)、DNS(域名系统)等。如在tomcat中查找JDBC数据源不是通过数据源的直接引用查找,而是通过JNDI与数据源绑定的名称查找;通过DNS可以使用域名来访问Web应用,而不是直接通过输入Web服务器的IP地址来访问,这里的数据源的引用和IP地址都可以看作是资源的物理ID。
目录服务。JNDI不仅能查找对象,还能浏览和修改目录中的信息。这对于需要管理大量资源属性的应用程序特别有用。
JNDI最常用的就是配置数据源,对于Tomcat