bonecp使用数据源
bonecp.properties
jdbc.driverClass=oracle.jdbc.driver.OracleDriver
jdbc.jdbcUrl=jdbc:oracle:thin:@192.168.30.4:1521:test
jdbc.username=test
jdbc.password=test #Sets the minimum number of connections that will be contained in every partition.
bonecp.minConnectionsPerPartition=1
#Sets the maximum number of connections that will be contained in every partition.
#Setting this to 5 with 3 partitions means you will have 15 unique
#connections to the database. Note that the connection pool will not create all
#these connections in one go but rather start off with minConnectionsPerPartition and gradually
#increase connections as required.
bonecp.maxConnectionsPerPartition=5
#Sets the acquireIncrement property. When the available connections are about to run
#out, BoneCP will dynamically create new ones in batches. This property controls how
#many new connections to create in one go (up to a maximum of
#maxConnectionsPerPartition). Note: This is a per partition setting.
bonecp.acquireIncrement=1
#Sets number of partitions to use. In order to reduce lock contention
#and thus improve performance, each incoming connection request picks off a connection from
#a pool that has thread-affinity, i.e. pool[threadId % partition_count]. The higher this number,
#the better your performance will be for the case when you have plenty
#of short-lived threads. Beyond a certain threshold, maintenance of these pools will start
#to have a negative effect on performance (and only for the case when
#connections on a partition start running out). Default: 1, minimum: 1, recommended:
#2-4 (but very app specific)
bonecp.partitionCount=1
#Sets the idleConnectionTestPeriod. This sets the time (in minutes), for a connection
#to remain idle before sending a test query to the DB. This is
#useful to prevent a DB from timing out connections on its end. Do
#not use aggressive values here! Default: 240 min, set to 0
#to disable
bonecp.idleConnectionTestPeriodInMinutes=240
#Sets the idleConnectionTestPeriod. This sets the time (in seconds), for a connection
#to remain idle before sending a test query to the DB. This is
#useful to prevent a DB from timing out connections on its end. Do
#not use aggressive values here! Default: 240 min, set to 0
#to disable
bonecp.idleConnectionTestPeriodInSeconds=14400
#Sets Idle max age (in min). The time (in minutes), for a
#connection to remain unused before it is closed off. Do not use aggressive
#values here! Default: 60 minutes, set to 0 to disable.
bonecp.idleMaxAgeInMinutes=60
#Sets Idle max age (in seconds). The time (in seconds), for a
#connection to remain unused before it is closed off. Do not use aggressive
#values here! Default: 60 minutes, set to 0 to disable.
bonecp.idleMaxAgeInSeconds=3600
#Sets statementsCacheSize setting. The number of statements to cache.
bonecp.statementsCacheSize=0
#Sets number of helper threads to create that will handle releasing a connection.
#When this value is set to zero, the application thread is blocked
#until the pool is able to perform all the necessary cleanup to recycle
#the connection and make it available for another thread. When a non-zero
#value is set, the pool will create threads that will take care of
#recycling a connection when it is closed (the application dumps the connection into
#a temporary queue to be processed asychronously to the application via the release
#helper threads). Useful when your application is doing lots of work on
#each connection (i.e. perform an SQL query, do lots of non-DB stuff and
#perform another query), otherwise will probably slow things down.
bonecp.releaseHelperThreads=3
#Instruct the pool to create a helper thread to watch over connection acquires
#that are never released (or released twice). This is for debugging purposes only
#and will create a new thread for each call to getConnection(). Enabling this
#option will have a big negative impact on pool performance.
bonecp.closeConnectionWatch=false
#If enabled, log SQL statements being executed.
bonecp.logStatementsEnabled=false
#Sets the number of ms to wait before attempting to obtain a connection
#again after a failure.
bonecp.acquireRetryDelayInMs=7000
#Set to true to force the connection pool to obtain the initial connections
#lazily.
bonecp.lazyInit=false
#Set to true to enable recording of all transaction activity and replay the
#transaction automatically in case of a connection failure.
bonecp.transactionRecoveryEnabled=false
#After attempting to acquire a connection and failing, try to connect these many
#times before giving up. Default 5.
bonecp.acquireRetryAttempts=5
#Set to true to disable JMX.
bonecp.disableJMX=false
#Queries taking longer than this limit to execute are logged.
bonecp.queryExecuteTimeLimitInMs=0
#Sets the Pool Watch thread threshold. The pool watch thread attempts to
#maintain a number of connections always available (between minConnections and maxConnections). This value
#sets the percentage value to maintain. For example, setting it to 20 means
#that if the following condition holds: Free Connections / MaxConnections < poolAvailabilityThreshold
#new connections will be created. In other words, it tries to keep at
#least 20% of the pool full of connections. Setting the value to zero
#will make the pool create new connections when it needs them but it
#also means your application may have to wait for new connections to be
#obtained at times. Default: 20.
bonecp.poolAvailabilityThreshold=20
#If set to true, the pool will not monitor connections for proper closure.
#Enable this option if you only ever obtain your connections via a mechanism
#that is guaranteed to release the connection back to the pool (eg Spring's
#jdbcTemplate, some kind of transaction manager, etc).
bonecp.disableConnectionTracking=false
#Sets the maximum time (in milliseconds) to wait before a call to getConnection
#is timed out. Setting this to zero is similar to setting it
#to Long.MAX_VALUE Default: 0 ( = wait forever )
bonecp.connectionTimeoutInMs=0
#Sets the no of ms to wait when close connection watch threads are
#enabled. 0 = wait forever.
bonecp.closeConnectionWatchTimeoutInMs=0
#Sets number of statement helper threads to create that will handle releasing a
#statement. When this value is set to zero, the application thread is
#blocked until the pool and JDBC driver are able to close off the
#statement. When a non-zero value is set, the pool will create threads
#that will take care of closing off the statement asychronously to the application
#via the release helper threads). Useful when your application is opening up
#lots of statements otherwise will probably slow things down.
bonecp.statementReleaseHelperThreads=0
#Sets the maxConnectionAge in seconds. Any connections older than this setting will be
#closed off whether it is idle or not. Connections currently in use will
#not be affected until they are returned to the pool.
bonecp.maxConnectionAgeInSeconds=0
#If set to true, keep track of some more statistics for exposure via
#JMX. Will slow down the pool operation.
bonecp.statisticsEnabled=false
#If set to true, no attempts at passing in a username/password will be
#attempted when trying to obtain a raw (driver) connection. Useful for cases when
#you already have another mechanism on authentication eg NTLM.
bonecp.externalAuth=false
applicationContenxt.xml
<!-- 载入properties文件 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:cn/com/config/dataSource/bonecp.properties</value>
</list>
</property>
</bean>
<!--配置数据源 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
<property name="targetDataSource">
<ref local="boneCPDataSource" />
</property>
</bean> <bean id="boneCPDataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<!-- BoneCP type -->
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.jdbcUrl}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" /> <property name="minConnectionsPerPartition" value="${bonecp.minConnectionsPerPartition}" />
<property name="maxConnectionsPerPartition" value="${bonecp.maxConnectionsPerPartition}" />
<property name="partitionCount" value="${bonecp.partitionCount}" />
<property name="acquireIncrement" value="${bonecp.acquireIncrement}" />
<property name="statementsCacheSize" value="${bonecp.statementsCacheSize}" />
<property name="releaseHelperThreads" value="${bonecp.releaseHelperThreads}" />
</bean>
版权声明:本文博客原创文章,博客,未经同意,不得转载。
bonecp使用数据源的更多相关文章
- 为什么HikariCP被号称为性能最好的Java数据库连接池,怎样配置使用
HiKariCP是数据库连接池的一个后起之秀.号称性能最好.能够完美地PK掉其它连接池. 原文地址:http://blog.csdn.net/clementad/article/details/469 ...
- Play 起步
*****************jdk下载地址: http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.ta ...
- MySql8.0数据库链接报错The driver has not received any packets from the server
1.我使用MySql数据库8.0版本,然后驱动改成了 jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306 ...
- 为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用
转自:https://blog.csdn.net/clementad/article/details/46928621 HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他 ...
- [转帖]为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用
为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用 原创Clement-Xu 发布于2015-07-17 15:53:14 阅读数 57066 收藏 展开 HiKariCP是 ...
- Spring 管理数据源
Spring 管理数据源 不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的.在以往的应用中,数据源一般是Web应用服务器提供的.在Spring中,你不 ...
- DBCP、C3P0、Proxool 、 BoneCP开源连接池的比《转》
简介 使用评价 项目主页 DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 可以设置最大和最小连接,连接等待时 ...
- 开源DBCP、C3P0、Proxool 、 BoneCP连接池的比较
简介 项目主页 使用评价 DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 http://homepages.nild ...
- JAVA数据源连接方式汇总
最近在研究JAVA的数据源连接方式,学习的时候发现了一位同行写的文章,转载过来,留作记录! 一.问题引入 在java程序中,需要访问数据库,做增删改查等相关操作.如何访问数据库,做数据库的相关操作呢? ...
随机推荐
- 一般报java.lang.NullPointerException的原因有以下几种
一般报java.lang.NullPointerException的原因有以下几种: ·字符串变量未初始化: ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List lt = ...
- hibernate之关于使用连接表实现多对一关联映射
[Hibernate]之关于使用连接表实现多对一关联映射 在我们项目使用中採用中间表最多的一般就是多对一,或者是多对多,当然一对一使用中间表也是能够的,可是这样的几率通常少之又少!所以这里重点介绍多对 ...
- ecshop首页调用某分类下的商品|assign_cat_goods()
ecshop首页调用分类下的商品其实很简单,也有模板设置那里可以设置,不过那个只可以用cat_goods.lib,不方便,所以我想看看怎么能简单的实现ecshop首页调用分类下的商品 只需要在inde ...
- HDU1028Ignatius and the Princess III母函数入门
这个题也能够用递归加记忆化搜索来A,只是因为这题比較简单,所以用来做母函数的入门题比較合适 以展开后的x4为例,其系数为4,即4拆分成1.2.3之和的拆分数为4: 即 :4=1+1+1+1=1+1+2 ...
- linux下一个C语言flock功能使用 .
表头文件 #include<sys/file.h> 定义函数 int flock(int fd,int operation); 函数说明 flock()会依參数operation所指 ...
- svn加入新的文件夹
方法一: 1.在远程server上生成新的文件夹 svn mkdir http://svn.xxx.com/svn/mobile/strategy/assistant/branches/talk -m ...
- Android_使用StrictMode
调试开发
本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/40076049 1.StrictMode简单介绍 自Android 2 ...
- 客户端上显示csdn上的各类别下的的文章列表 (制作csdn app 三)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/23597229 今天将在Android 使用Fragment,ViewPagerI ...
- JSP中的include有哪些?有什么差别?
JSP中的include有哪些?有什么差别? 1.JSP中的include有哪些 (1)<%@include file="" %> (2)<jsp:include ...
- 【甘道夫】HBase开发环境搭建过程中可能遇到的异常:No FileSystem for scheme: hdfs
异常: 2014-02-24 12:15:48,507 WARN [Thread-2] util.DynamicClassLoader (DynamicClassLoader.java:<in ...