连接池,jdbc和jndi的差异

Har*_*ana 18 java jndi jdbc

我需要知道我对上述内容的理解是否正确.

在连接池中,使用java.sql.Datasource设置多个连接.

在jdbc中,我们直接指定连接url和oracle.jdbc.driver.OracleDriver,它始终是一个连接,其中另一个请求必须等到连接完成处理.

使用JNDI,它类似于直接jdbc,我们通过名称引用jdbc设置,以便我们可以在应用程序服务器中指定连接URL和其他设置,而不是将它们绑定到应用程序,对吧?

Big*_*ike 21

这些是两件不同的事情.

JDBC是Java数据库连接API,而JNDI是Java命名和目录接口API.

这里的主要内容是,在JNDI目录中,您实际上存储的是JDBC DataSource,因此,您只是使用JDBC通过JNDI查找来获取Connection.

简而言之:JDBC是数据库领域,JNDI允许您将对象存储在虚拟上下文(目录)中,可以是本地的,远程的(实现细节通常无关紧要).

您可以通过名称访问此上下文,获取存储的对象,最好在不同模块之间共享内容.

应用服务器通常有一个JNDI上下文用于在不同的应用程序之间共享全局对象,连接Poolers恰好是为什么通过JNDI共享的最明显的例子之一(定义1个连接池,在几个webapps之间共享).


ger*_*tan 6

我知道当你第一次学习 Java 时,所有的首字母缩略词都会令人畏惧,但是要习惯它,花大量时间阅读..尤其是来自 Java/Oracle 的官方资源