gpt4 book ai didi

java - Tomcat 和其他容器中的数据源和连接池与 JNDI 有什么关系?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:08:14 24 4
gpt4 key购买 nike

我正在尝试了解连接池(JDBC 连接池)。根据我的回答 n this question每个容器都有自己的机制。我也在尝试了解 JNDI 及其实现,以及与在网络中定位对象(如目录和用户)相关的任何帖子或文章,这里有一些文章:

http://www.oracle.com/technetwork/java/jndi/index.html http://www.oracle.com/technetwork/java/overview-142035.html

阅读这篇描述如何在 Tomcat 容器中管理连接池的文章,第二段

javax.sql.DataSource interface is registered with the naming service based on JNDI API. A data source driver allows accessed to the database via DataSource interface. A DataSource object is looked up in the context based on registered through JNDI Resource

问题是 JNDI 和网络目录与实例化提供连接池的 DataSource 的实现有什么关系,可能是通过享元设计模式实现的?

我错过了什么吗?

最佳答案

它们没有直接关系。 DataSource 只是一个接口(interface),用于管理数据库连接池中的连接。任何 Java Servlet 容器或 Java EE 容器都可以为此接口(interface)提供自己的实现。

作为应用程序开发人员,您无需担心容器如何实例化此实现或实际实现类是什么。

要在实际容器实现和您的应用程序之间提供松耦合,您只需获取此实现的一个实例,这通常通过 JNDI 完成。

容器实例化 DataSource 实现并将其绑定(bind)到 JNDI 注册表中的特定地址,应用程序开发人员可以在其中检索它。在应用程序中,您只需使用 DataSource 接口(interface)来访问此实现,从而使您的应用程序可移植到不同的服务器及其各自的 DataSource 实现。

关于java - Tomcat 和其他容器中的数据源和连接池与 JNDI 有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35955558/

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