首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JDBC中建立连接池?

如何在JDBC中建立连接池?
EN

Stack Overflow用户
提问于 2010-05-14 22:55:06
回答 13查看 197.2K关注 0票数 120

有人能提供关于如何建立JDBC连接池的示例或链接吗?

通过搜索google,我看到了许多不同的方法,这是相当令人困惑的。

最终,我需要返回java.sql.Connection对象的代码,但我很难获得欢迎的started..any建议。

更新:没有javax.sqljava.sql的池连接实现吗?为什么使用这些不是最好的呢?

EN

回答 13

Stack Overflow用户

发布于 2010-05-14 23:56:06

如果你需要一个独立的连接池,我更喜欢C3P0而不是DBCP (我在这篇previous answer中提到过),我只是在重负载下使用DBCP遇到了太多问题。使用C3P0非常简单。从documentation

代码语言:javascript
复制
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.postgresql.Driver" ); //loads the jdbc driver
cpds.setJdbcUrl( "jdbc:postgresql://localhost/testdb" );
cpds.setUser("swaldman");
cpds.setPassword("test-password");

// the settings below are optional -- c3p0 can work with defaults
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);

// The DataSource cpds is now a fully configured and usable pooled DataSource 

但是,如果您在应用程序服务器内部运行,我建议您使用它提供的内置连接池。在这种情况下,您将需要对其进行配置(请参阅应用服务器的文档),并通过JNDI检索DataSource:

代码语言:javascript
复制
DataSource ds = (DataSource) new InitialContext().lookup("jdbc/myDS");
票数 106
EN

Stack Overflow用户

发布于 2015-06-03 23:34:51

HikariCP

它很现代,很快,很简单。我在每个新项目中都使用它。与C3P0相比,我更喜欢它,我不太了解其他池。

票数 20
EN

Stack Overflow用户

发布于 2010-05-14 23:18:35

通常,如果您需要一个连接池,那么您正在编写一个在某些托管环境中运行的应用程序,也就是说,您正在应用程序服务器内部运行。

开箱即用的解决方案将是与其他应用程序服务器设施最好的集成。但是,如果您没有在应用程序服务器内部运行,我建议您使用。它被广泛使用,并提供了大多数应用程序所需的所有基本池化功能。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2835090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档