MysqlConnectionPoolDataSource或c3p0之类的库?

时间:2013-04-04 20:47:23

标签: jdbc connection-pooling c3p0 apache-commons-dbcp bonecp

用于连接池的MysqlConnectionPoolDataSource和C3p0,BoneCP或dbcp库之间有什么区别?如果mysql连接器提供连接池,我不明白为什么要使用库。

1 个答案:

答案 0 :(得分:4)

ConnectionPoolDataSource 连接池(或至少:它不应该是),它旨在由提供池的DataSource使用(例如,来自应用服务器)。 ConnectionPoolDataSource提供将在连接池中保存的物理连接。除了创建这些物理连接外,ConnectionPoolDataSource不应该做任何其他事情。

因此,如果您在应用程序服务器中工作,请使用应用程序服务器的DataSource提供的池。如果您位于独立应用程序或不提供数据源的服务器上,请使用第三方连接池,如BoneCP,c3p0或Apache DBCP。如果MySQL还提供了提供池化的普通DataSource,那么您可以使用它。