首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JTDS驱动程序-连接池与连接池

JTDS驱动程序-连接池与连接池
EN

Stack Overflow用户
提问于 2015-01-15 18:23:29
回答 1查看 2.9K关注 0票数 4

我离开Java已经有一段时间了,但是我对所有这些东西都有一个基本的概念。

我在这里阅读JTDS文档:

http://jtds.sourceforge.net/features.html

它说它提供语句池和连接池,但不提供连接池实现。

  1. 如果JTDS驱动程序本身提供连接池,那么为什么我需要一个连接池(比如DBCP)呢?
  2. 换句话说,JTDS提供的连接池与它之上的完整连接池实现(在这个JTDS文档页面中)之间有什么区别?
  3. 另外,语句和连接池之间有什么区别(正如在JTDS文档页面中提到的)?

请随意在你的答案中添加更多细节。

(无论你发现什么重要的事情,我都没有明确地问过)

因为我对此很困惑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-15 19:53:26

据我从API文档中可以看出,它们意味着jTDS提供了一个javax.sql.PooledConnection和一个javax.sql.ConnectionPoolDataSource实现。这些类将由例如Java应用服务器的连接池使用,而不是连接池本身。

ConnectionPoolDataSource创建PooledConnection对象,换句话说,它是的数据源(连接池)。PooledConnection是物理连接的句柄,保存在连接池中。当用户从池请求连接时,连接池将PooledConnection从“可用”移动到“正在使用”列表,并从PooledConnection获得逻辑java.sql.Connection。这种逻辑连接是传递给用户的。

连接池可以使用PooledConnection来监视逻辑连接。例如,当调用PooledConnection时,将close()返回到“available”,或者强制撤消逻辑连接并使其失效(例如,如果使用时间过长)。

因此,jTDS本身没有连接池实现,但它支持连接池。不幸的是,JDBC规范中的措辞如此混乱。

关于这个问题,我在a similar question上有一个更详细的答案。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27970382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档