BoneCP - 高性能的JDBC连接池

BoneCP - 高性能的JDBC连接池

BoneCP 是一个高性能、轻量级的 JDBC 连接池实现。它通过优化线程模型和提供精细的并发控制,实现了高并发环境下的高效数据库访问。

什么是 BoneCP?

BoneCP 是一个开源的 Java 框架,用于管理数据库连接。它可以自动创建、管理和回收数据库连接,从而减轻开发人员的工作负担,并提高应用程序的性能和稳定性。

BoneCP 能用来做什么?

通过使用 BoneCP,你可以轻松地在 Java 应用程序中管理数据库连接。这包括以下功能:

  • 自动创建和回收数据库连接。
  • 提供线程安全的数据库访问。
  • 支持多数据源和动态配置。
  • 提供详细的监控和日志记录功能。

通过使用 BoneCP,你可以提高你的 Java 应用程序的性能和可靠性,并且可以更快地开发出高质量的软件产品。

BoneCP 的特点

BoneCP 具有以下几个主要的特点:

  • 高性能:BoneCP 使用了优化的线程模型和并发控制机制,能够在高并发环境下提供高效的数据库访问。
  • 轻量级:BoneCP 的体积小,易于集成到现有的应用程序中。
  • 易用性:BoneCP 提供了简单的 API 和详细的文档,使得开发人员可以快速上手。
  • 可扩展性:BoneCP 支持多种数据库和 JNDI 数据源,可以满足不同应用场景的需求。

如何开始使用 BoneCP?

要在你的 Java 应用程序中使用 BoneCP,请按照以下步骤操作:

  1. 下载并安装 BoneCP。

  2. 在你的 Java 工程中添加 BoneCP 的依赖库。

  3. 创建一个 DataSource 对象,并配置好相关的参数。

  4. 使用 DataSource.getConnection() 方法获取数据库连接。

  5. 完成数据库操作后,使用 Connection.close() 方法关闭连接。

有关更多详细信息,请参阅 BoneCP 的官方文档。

结语

如果你正在寻找一个高性能、轻量级的 JDBC 连接池实现,那么 BoneCP 就是一个不错的选择。它是开源的,支持多种数据库和 JNDI 数据源,具有良好的易用性和可扩展性,可以帮助你提高 Java 应用程序的性能和可靠性。赶快试试看吧!

项目链接: <>

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在用C3P0数据连接池的时候,一旦并发上来就坑不住了,因为C3P0存在BUG,c3p0在从连接池中获取和返回连接的时候,采用了异步的处理方式,使用一个线程池来异步的 把返回关闭了(没有真正关闭)的连接放入连接池中。这样就意味着,我们在调用了从c3p0获得的连接的close方法时,不是立即放回池中的,而是放入一 个事件队列中等待c3p0内部的线程池顺序的处理。这里给出bonecp连接池,用了就知道好了 #bonecp properties #分区数量 bonecp.partitionCount = 1 #每个分区含有的最小连接数 bonecp.minConnectionsPerPartition = 1 #每个分区含有的最大连接数 bonecp.maxConnectionsPerPartition = 2 #每次新增连接的数量 bonecp.acquireIncrement = 1 #连接池阀值,当 可用连接/最大连接 < 连接阀值 时,创建新的连接 bonecp.poolAvailabilityThreshold = 20 #连接超时时间阀值,获取连接时,超出阀值时间,则获取失败,毫秒为单位 bonecp.connectionTimeout = 10000 #连接池助手线程数量,可设置为0,该参数会降低运行速度,但程序有大量连接时,有助于提升高并发程序的性能 bonecp.releaseHelperThreads = 0 #语句助手线程数,可设置为0,该参数会降低运行速度,但程序有大量的查询语句时,有助于提升高并发程序的性能 bonecp.statementReleaseHelperThreads = 0 #测试连接有效性的间隔时间,单位分钟 bonecp.idleConnectionTestPeriod = 60 #连接的空闲存活时间,当连接空闲时间大于该阀值时,清除该连接 bonecp.idleMaxAge = 240 #语句缓存个数,默认是0 bonecp.statementsCacheSize = 5 在Hibernate中使用BoneCP除了需要上面提到的jar包之外,还需要下载一个名为bonecp-provider-0.7.0.jar的bonecp-provider的jar包,它的下载位置是:http://jolbox.com/bonecp/downloads/maven/com/jolbox/bonecp-provider/0.7.0/bonecp-provider-0.7.0.jar。 除此之外,还需要做如下配置: <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean" autowire="autodetect"> <property name="hibernateProperties"> <props> <prop key="hibernate.connection.provider_class">com.jolbox.bonecp.provider.BoneCPConnectionProvider</prop> <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop> <prop key="hibernate.connection.url">jdbc:mysql://127.0.0.1/yourdb</prop> <prop key="hibernate.connection.username">root</prop> <prop key="hibernate.connection.password">abcdefgh</prop> <prop key="bonecp.idleMaxAge">240</prop> <prop key="bonecp.idleConnectionTestPeriod">60</prop> <prop key="bonecp.partitionCount">3</prop> <prop key="bonecp.acquireIncrement">10</prop> <prop key="bonecp.maxConnectionsPerPartition">60</prop> <prop key="bonecp.minConnectionsPerPartition">20</prop> <prop key="bonecp.statementsCacheSize">50</prop> <prop key="bonecp.releaseHelperThreads">3</prop> </props> </property> </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马冶娆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值