当前位置: 首页 > 知识库问答 >
问题:

JDBC连接池-简单设置和库

颜楚青
2023-03-14

这个问题是在前面的问题(使用JDBC实现迭代器设计模式)之后形成的。

我理解连池的基本概念,但仅此而已。我的应用程序需要一个数据库,由于实现迭代器模式的要求,我相信数据库需要经常打开和关闭。因此,需要一个连接池来防止严重的html" target="_blank">应用程序延迟。最好(从我的理解来看,这是一个很好的做法)我希望池在应用程序启动时打开,关闭时关闭。

我研究了许多连接池库,如BoneCP、DBPool、C3P0和Proxool。我见过在中描述的其他人http://java-source.net/open-source/connection-pools但没有深入到基本描述之外。

我的问题是,哪一个库的设置最简单(对于简单的数据库),可以提供高效的池。

BoneCP需要SLF4J日志库,该库与eclipse有问题(eclipse-未能加载类“org.SLF4J.impl.StaticLoggerBinder”),这给我带来了一个大问题。C3P0已标记为“过时”。Proxool看起来很简单,但我不确定这是否有效或是否符合要求。

谢谢你。

共有2个答案

欧浩淼
2023-03-14

C3P0非常稳定,即使它已经过时,而且仍然非常流行。

BoneCP看起来性能不错,但我从未在生产中使用过。SLF4J和eclipse之间的问题是什么?从没听说过。

向修谨
2023-03-14

我使用了DBCP连接池和C3P0。两者都有很好的特性,但是C3P0比DBCP有更多的配置选项。我没有使用BoneCP,所以不知道。

您可以使用C3P0的最后一个稳定版本,我个人觉得它使用起来很简单,比其他池更自由。

 类似资料:
  • 我有一个问题,在通过tomcat web应用程序应用户请求重置MySQL数据库后,我会收到tomcat异常。到目前为止,我已尝试将其分解为设置、问题和我的分析,以帮助任何试图阅读本文的人。 重置基本上包括从java代码调用bash脚本以: 删除根mysql用户密码 加载数据库的旧版本 在上面运行一些脚本 恢复所有密码 这是一个用户启动的过程,通常将数据库恢复到以前的状态,但它也用于从另一个系统导入

  • 我在Spring JDBC中使用Spring Boot 1.5.4。 使用Spring JDBC的Spring Boot微服务在尝试执行HTTP PUT时(在一群用户尝试执行HTTP PUT后)会出现以下问题,该问题会逐渐进入Spring JDBC调用: pom.xml: 我猜我需要设置一个JDBC连接池... 在我的application.properties设置中,(我有两个不同的数据库——一

  • 前几天我经历了应用程序的中断,我需要了解以后如何避免这种情况。 我们有一个运行在Tomcat7上的基于Java的web应用程序。应用程序连接到几个不同的数据源,包括Oracle数据库。 下面是我对连接验证的理解。 连接在空闲时(testWhileIdle=false)、借用时(testOnBorrow=false)、返回时(testOnReturn=false) 由于timeBetweenEvic

  • 我使用作为我的数据源实现,我的代码获取连接并关闭连接,如下所示: 当我完成连接工作时,我将关闭它 我的问题是:确实是关闭的,所以当连接像一样关闭时,数据源是如何工作的。我听说datasource connection close并不是真正的close,只是release,但我在datasource类中找不到release API。我想知道datasource如何管理数据库连接的创建、关闭和释放。

  • 我需要知道我对上面的理解是否正确。 在连接池中,可以使用java.sql.DataSource设置多个连接。 在jdbc中,我们直接指定连接url和oracle.jdbc.driver.OracleDriver并且它总是一个连接,另一个请求必须等待到连接完成处理。 使用JNDI与直接jdbc类似,我们通过名称引用jdbc设置,这样我们就可以在应用服务器中指定连接url和其他设置,而不是将它们绑定到

  • 我们有一个spring-boot应用程序,它使用嵌入式tomcat进行部署,并使用MySQL后端的默认tomcat-jdbc连接池,而没有为MySQL或tomcat端定制。 该应用程序有一些调度程序,它们主要在一天中的特定时间运行,即在昨天的最后一次cron运行和今天的第一次cron运行之间,有超过9个小时的间隙。然而,无论何时cron在早期运行,它都从未遇到过空闲连接问题。 现在我们看到一条错误