MySQL jdbc驱动程序是否内置了对数据库连接池的支持? (比如Oracle有OracleDataSource类)
我做了彻底的搜索,但找不到任何。我知道我可以使用外部库,如dbcp或boneCp,还有tomcat和jboss等应用服务器支持连接池。
但我很想知道MySQL是否拥有自己的连接池实现。
提前感谢。
答案 0 :(得分:6)
JDBC specification(特别参见第68页)支持连接池,因此任何现代驱动程序都具有该功能。但是,JDBC驱动程序的目的不是维护自己的连接池;因此,无论您是使用MySQL Connector/J还是Oracle驱动程序,您仍然需要应用程序服务器或第三方库提供的连接池实现。
除非你想尝试rolling your own。 o.O
相关的JDBC接口是javax.sql.ConnectionPoolDataSource和javax.sql.PooledConnection。
在latest MySql driver中,相应的实现类是MysqlConnectionPoolDataSource
和MysqlPooledConnection
(都在com.mysql.jdbc.jdbc2.optional包中)。您可能会发现these code examples很有趣 - 他们正在使用名为MiniConnectionPoolManager的类作为连接池实现。