jdbc - MysqlConnectionPoolDataSource 或 c3p0 之类的库?

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

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

最佳答案

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

因此,如果您在应用程序服务器中工作,请使用 DataSource 提供的池。 s 应用程序服务器。如果您使用的是独立应用程序或不自行提供数据源的服务器,请使用第三方连接池,如 BoneCP、c3p0 或 Apache DBCP。如果 MySQL 也提供了正常的 DataSource提供池化,那么你可以使用它。

关于jdbc - MysqlConnectionPoolDataSource 或 c3p0 之类的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15821399/

相关文章:

java - HikeriCP : java. sql.SQLException:关闭与显式目录的连接时目录不能为空

java - 如何检测tomcat连接池问题

java - 我如何从 PLSQL 中获取表用户定义的类型作为输出参数?

java - 无法从 Java 将文本添加到 mysql 表

java - 如何使用单例设计模式来建立和关闭 JDBC 连接?

Java连接池(JNDI)半天后不起作用

java - Java 中的 Oracle 连接池

java - PostgreSQL + Hibernate + C3P0 = FATAL : sorry, 已经有太多客户端

java - maxIdleTimeExcessConnections 与 c3p0 中的 maxIdleTime 有何不同?

java - 我应该如何使用jdbc将vararray从plsql发送到java?