gpt4 book ai didi

java - 连接池、jdbc、jndi的区别

转载 作者:太空狗 更新时间:2023-10-29 22:39:29 31 4
gpt4 key购买 nike

我想知道我对以上的理解是否正确。

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

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

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

最佳答案

嗯,这是两个不同的东西。

JDBC 是 Java 数据库连接 API,而 JNDI 是 Java 命名和目录接口(interface) API。

这里的主要内容是,在 JNDI 目录中,您实际上存储了一个 JDBC 数据源,因此,您只是使用 JDBC 通过 JNDI 查找获取一个连接。

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

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

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

关于java - 连接池、jdbc、jndi的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15676990/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com