我已经离Java EE有一段时间了,但我对所有这些东西都有一个基本的想法。
我正在阅读JTDS文档:
http://jtds.sourceforge.net/features.html
它说它提供了语句池和连接池,但没有提供连接池实现。
随意在答案中添加更多详细信息
(无论你发现什么重要;我没有明确要求的事情)
因为我对此很困惑。
答案 0 :(得分:6)
据我在API文档中可以看出,它们意味着jTDS提供了javax.sql.PooledConnection
和javax.sql.ConnectionPoolDataSource
实现。这些类将由连接池(例如Java EE应用程序服务器)使用,而不是连接池本身。
ConnectionPoolDataSource
创建PooledConnection
个对象,换句话说,它是连接池的数据源。 PooledConnection
是物理连接的句柄,并保存在连接池中。当用户从池请求连接时,连接池会将PooledConnection
从“可用”移动到“正在使用”列表,并从java.sql.Connection
获取逻辑PooledConnection
。这种逻辑连接是交给用户的。
连接池可以使用PooledConnection
来监视逻辑连接。例如,在调用PooledConnection
时将close()
返回到'available',或强制撤销逻辑连接并使其无效(例如,如果它使用的时间太长)。
因此jTDS本身没有连接池实现,但它支持连接池。遗憾的是,JDBC规范中的措辞令人困惑。
我在a similar question上有关于这个主题的更详细的答案。