javax.sql.DataSource和javax.sql.ConnectionPoolDataSource有什么区别?我不知道在为MySQL创建连接池时应该使用哪种资源类型。
javax.sql.DataSource和javax.sql.ConnectionPoolDataSource有什么区别?我不知道在为MySQL创建连接池时应该使用哪种资源类型。
ConnectionPoolDataSource
只是一个具有连接池功能的DataSource
(因为它继承了CommonDataSource
,而CommonDataSource
也被DataSource
继承)
这取决于你的应用程序,许多数据库驱动程序在与数据库创建新连接时需要很长时间。如果你的应用程序将频繁地创建太多的连接,那么请使用连接池。
ConnectionPoolDataSource
并不是 DataSource
。你甚至自己也说了(正确地)它们都继承自 CommonDataSource
,这意味着它们之间没有一个“is-a”的关系(即继承关系)。这个回答只会让本来已经很混乱的问题更加复杂,没有增加任何价值。 - Basil Bourque
PooledConnection
,就像javax.sql.ConnectionPoolDataSource
所做的那样。 - Tiny