现在大多数应用服务器都有自己内置的连接池,例如,Tomcat 7有Tomcat JDBC连接池,JBoss有它自己的,Glassfish, Weblogic等也有。
使用第三方连接池(如DBCP或c3p0)有什么优势吗?
我能想到的一个优势可能是战争部署的便利性。还有什么?
使用应用服务器的连接池很可能将您与特定的应用服务器耦合起来。这意味着,如果特定的实现不适合您,那么将来可能很难更改实现。
这也意味着除了特定的应用程序容器之外,您很可能无法在任何其他容器中运行应用程序。这将增加执行自动化集成测试的潜在困难。
希望您使用的任何连接池都将被抽象,以便您可以插入您选择的任何连接池。我认为这是一般情况,但你可能要确保。
我相信使用spring jdbc模板将有助于减少对特定连接池实现的耦合。