我离开Java已经有一段时间了,但是我对所有这些东西都有一个基本的概念。
我在这里阅读JTDS文档:
http://jtds.sourceforge.net/features.html
它说它提供语句池和连接池,但不提供连接池实现。
请随意在你的答案中添加更多细节。
(无论你发现什么重要的事情,我都没有明确地问过)
因为我对此很困惑。
发布于 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上有一个更详细的答案。
https://stackoverflow.com/questions/27970382
复制相似问题