一、BoneCP配置文件格式(bonecp-config.xml):

<?xml version="1.0" encoding="UTF-8"?>
<bonecp-config>
  <default-config>
   <!--  -->
 <property name=""></property>
  </default-config> 
</bonecp-config> 

二、BoneCP主要配置参数
1.jdbcUrl

设置数据库URL
2.username
设置数据库用户名
3.password
设置数据库密码
4.partitionCount
设置分区个数。这个参数默认为1,建议3-4(根据特定应用程序而定)。
为了减少锁竞争和改善性能,从当前线程分区(thread-affinity)中获取一个connection,
也就是这个样子:partitions[Thread.currentThread().getId() % partitionCount]。当拥有充足的短期(short-lived)的线程时候,这个参数设置越大,性能越好。当超过一定的阀值时,连接池的维护工作就可能对性能造成一定的负面影响(仅当分区上的connection使用耗尽时)。
5.maxConnectionsPerPartition
设置每个分区含有connection最大个数。这个参数默认为2。如果小于2,BoneCP将设置为50。
比如:partitionCount设置为3,maxConnectionPerPartition设置为5,你就会拥有总共15个connection。
注意:BoneCP不会将这些connection一起创建出来,而是说在需要更多connection的时候从minConnectionsPerPartition参数开始逐步地增长connection数量。
6.minConnectionsPerPartition
设置每个分区含有connection最大小个数。这个参数默认为0。
7.acquireIncrement
设置分区中的connection增长数量。这个参数默认为1。
当每个分区中的connection大约快用完时,BoneCP动态批量创建connection,
这个属性控制一起创建多少个connection(不会大于maxConnectionsPerPartition)。
注意:这个配置属于每个分区的设置。
8.poolAvailabilityThreshold
设置连接池阀值。这个参数默认为20。如果小于0或是大于100,BoneCP将设置为20。
连接池观察线程(PoolWatchThread)试图为每个分区维护一定数量的可用connection。
这个数量趋于maxConnectionPerPartition和minConnectionPerPartition之间。这个参数是以百分比的形式来计算的。例如:设置为20,下面的条件如果成立:Free Connections / MaxConnections < poolAvailabilityThreshold;就会创建出新的connection。
换句话来说连接池为每个分区至少维持20%数量的可用connection。
设置为0时,每当需要connection的时候,连接池就要重新创建新connection,这个时候可能导致应用程序可能会为了获得新connection而小等一会。
9.connectionTimeout
设置获取connection超时的时间。这个参数默认为Long.MAX_VALUE;单位:毫秒。
在调用getConnection获取connection时,获取时间超过了这个参数,就视为超时并报异常。

三、BoneCP线程配置参数
1.releaseHelperThreads

设置connection助手线程个数。这个参数默认为3。如果小于0,BoneCP将设置为3。
设置为0时,应用程序线程被阻塞,直到连接池执行必要地清除和回收connection,并使connection在其它线程可用。
设置大于0时,连接池在每个分区中创建助手线程处理回收关闭后的connection(应用程序会通过助手线程异步地将这个connection放置到一个临时队列中进行处理)。
对于应用程序在每个connection上处理大量工作时非常有用。可能会降低运行速度,不过在高并发的应用中会提高性能。
2.statementReleaseHelperThreads
设置statement助手线程个数。这个参数默认为3。如果小于0,BoneCP将设置为3。
设置为0时,应用程序线程被阻塞,直到连接池或JDBC驱动程序关闭statement。
设置大于0时,连接池会在每个分区中创建助理线程,异步地帮助应用程序关闭statement当应用程序打开了大量的statement是非常有用的。可能会降低运行速度,不过在高并发的应用中会提高性能。
3.maxConnectionAge
设置connection的存活时间。这个参数默认为0,单位:毫秒。设置为0该功能失效。
通过ConnectionMaxAgeThread观察每个分区中的connection,不管connection是否空闲,如果这个connection距离创建的时间大于这个参数就会被清除。当前正在使用的connection不受影响,直到返回到连接池再做处理。
4.idleMaxAge
设置connection的空闲存活时间。这个参数默认为60,单位:分钟。设置为0该功能失效。
通过ConnectionTesterThread观察每个分区中的connection,如果这个connection距离最后使用的时间大于这个参数就会被清除。
注意:这个参数仅和idleConnectionTestPeriod搭配使用,而且不要在这里设置任何挑衅的参数!
5.idleConnectionTestPeriod
设置测试connection的间隔时间。这个参数默认为240,单位:分钟。设置为0该功能失效。
通过ConnectionTesterThread观察每个分区中的connection, 如果这个connection距离最后使用的时间大于这个参数并且距离上一次测试的时间大于这个参数就会向数据库发送一条测试语句,如果执行失败则将这个connection清除。
注意:这个值仅和idleMaxAge搭配使用,而且不要在这里设置任何挑衅的参数!

三、BoneCP可选配置参数
1.acquireRetryAttempts

设置重新获取连接的次数。这个参数默认为5。
获取某个connection失败之后会多次尝试重新连接,如果在这几次还是失败则放弃。
2.acquireRetryDelay
设置重新获取连接的次数间隔时间。这个参数默认为7000,单位:毫秒。如果小于等于0,BoneCP将设置为1000。
获取connection失败之后再次尝试获取connection的间隔时间。
3.lazyInit
设置连接池初始化功能。这个参数默认为false。
设置为true,连接池将会初始化为空,直到获取第一个connection。
4.statementsCacheSize
设置statement缓存个数。这个参数默认为0。
5.disableJMX
设置是否关闭JMX功能。这个参数默认为false。
6.poolName
设置连接池名字。用于当作JMX和助手线程名字的后缀。

四、BoneCP调试配置参数
1.closeConnectionWatch
设置是开启connection关闭情况监视器功能。这个参数默认为false。
每当调用getConnection()时,都会创建CloseThreadMonitor,监视connection有没有关闭或是关闭了两次。警告:这个参数对连接池性能有很大的负面影响,慎用!仅在调试阶段使用!
2.closeConnectionWatchTimeout
设置关闭connection监视器(CloseThreadMonitor)持续多长时间。这个参数默认为0;单位:毫秒。仅当closeConnectionWatch参数设置为可用时,设置这个参数才会起作用。
设置为0时,永远不关闭。
3.logStatementsEnabled
设置是否开启记录SQL语句功能。这个参数默认是false。
将执行的SQL记录到日志里面(包括参数值)。
4.queryExecuteTimeLimit
设置执行SQL的超时时间。这个参数默认为0;单位:毫秒。
当查询语句执行的时间超过这个参数,执行的情况就会被记录到日志中。
设置为0时,该功能失效。
5.disableConnectionTracking
设置是否关闭connection跟踪功能。这个参数默认为false。
设置为true,连接池则不会监控connection是否严格的关闭;设置为false,则启用跟踪功能(仅追踪通过Spring或一些事务管理等机制确保正确释放connection并放回到连接池中)。
6.transactionRecoveryEnabled
设置事务回放功能。这个参数默认为false。
设置为true时,MemorizeTransactionProxy可以记录所有在connection上操作的情况,当connetion操作失败的时候会自动回放先前的操作,如果在回放期间还是失败,则抛出异常。注意:这个功能会使连接池微弱地降低运行速度。

注:本文转自http://chirs1012f.javaeye.com/blog/805261

参考: http://www.blogjava.net/sxyx2008/archive/2011/03/16/346386.html

BoneCP学习笔记——配置参数相关推荐

  1. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  2. Dubbo -- 系统学习 笔记 -- 示例 -- 参数验证

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 参数验证 参数验证功能是基于JSR303实现的,用户只需标识JSR303标准的验证 ...

  3. 《TP5.0学习笔记---配置篇》

    TP5.0学习笔记 TP5目录结构介绍 application目录是应用目录,我们整个应用所有的内容都写在这个目录中,在后续开发中,我们更多的时候都是在编写这个目录中的文件.在它里边有一个index文 ...

  4. BoneCP学习笔记

    2019独角兽企业重金招聘Python工程师标准>>> 什么是BoneCP BoneCP 是一个快速.免费而且开源的java数据库连接池(JDBC Pool)管理工具库.如果你曾经使 ...

  5. BoneCP 学习笔记

    什么是BoneCP BoneCP 是一个快速.免费而且开源的java数据库连接池(JDBC Pool)管理工具库.如果你曾经使用过C3P0或者DBCP,那你肯定知道上面这句话的意思:如果你没用过这些, ...

  6. blfs(systemd版本)学习笔记-配置远程访问和管理lfs系统

    要实现远程管理和配置lfs系统需要配置以下软件包: 前几页章节脚本的配置:https://www.cnblogs.com/renren-study-notes/p/10390598.html wget ...

  7. 帆软报表学习笔记——根据参数查询

    帆软(FineReport)是一款非常快捷方便的报表软件,最近跟着公司后面做一个仓储收费管理系统,后期需要用得到各种费用的计算已经表格导出,所以乘着现在有空学习一个帆软的简单操作以及使用. 软件的下载 ...

  8. OpenGL学习笔记--配置VS环境

    OpenGL简介 OpenGL(Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口的规格,它用于三维图象(二维的亦可).OpenGL是个专业的图形程序接口,是一个功 ...

  9. Xamarin 学习笔记 - 配置环境(Windows iOS)

    2019独角兽企业重金招聘Python工程师标准>>> 本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1223980 ...

最新文章

  1. centos使用镜像源轻松配置golang+vscode的方法
  2. 一场可能改变未来的青年科学家聚会
  3. MySQL查看、创建和删除索引的方法
  4. android 调出键盘表情_Android 软键盘和emoji表情切换方案,和微信几乎一样的体验...
  5. 【转】关键字过滤算法
  6. 95后大学生利用漏洞免费吃肯德基获刑;Linux内核初步支持苹果M1;Android Studio 4.2 发布|极客头条...
  7. 拓端tecdat|R语言中的风险价值模型度量指标TVaR与VaR
  8. win下的一款自动远程备份工具
  9. 多色复古毕业论文答辩PPT模板——办公资源网
  10. 计算机鼠标左键的主要应用,鼠标的应用
  11. Apache Flink®极简教程: 架构及原理 Stateful Computations over Data Streams
  12. wps复选框怎么设置,wps表格中如何插入复选框?
  13. 智能电视或将掀起IT产业新一轮狂潮
  14. 图片上传到淘宝的操作流程——upload_img
  15. 2021年11月软件设计师真题解析
  16. ES工具--kibana
  17. 论文阅读:《A Wavenet For Speech Denoising》
  18. sql外键需要输入吗_关于sql:为什么在没有连接的情况下可以联接,为什么需要主-外键关系?...
  19. dev c++播放音乐MP3
  20. 代码的坏味道之七 :Feature Envy(依恋情结)

热门文章

  1. MediaWiki 1.19.2 发布 - 开源 Wiki 系统
  2. 英雄会解读:不一样的回答,一样的CTO
  3. 我下载的mysql解压后没有安装_mysql 解压版安装配置方法教程
  4. etcd — Overview
  5. Altium Designer圆形、椭圆形铺铜
  6. [推荐]国外的Windows Mobile资源站点
  7. tp剩余未验证内容-8
  8. 2018.5.12说说反射的用途及实现------要再花费时间加强理解
  9. LeetCode: 2_Add Two Numbers | 两个链表中的元素相加 | Medium
  10. Gradle 1.12用户指南翻译——第三十五章. Sonar 插件