当前位置:网站首页>bonecp使用数据源
bonecp使用数据源
2022-07-06 10:19:00 【全栈程序员站长】
大家好,又见面了,我是全栈君。
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=falseapplicationContenxt.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>版权声明:本文博客原创文章,博客,未经同意,不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117391.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢

Comparative examples of C language pointers *p++, * (p++), * ++p, * (++p), (*p) + +, +(*p)

面向程序员的精品开源字体

虚拟机VirtualBox和Vagrant安装

How to solve the error "press any to exit" when deploying multiple easycvr on one server?

传输层 拥塞控制-慢开始和拥塞避免 快重传 快恢复

阿里云国际版ECS云服务器无法登录宝塔面板控制台

UDP协议:因性善而简单,难免碰到“城会玩”

Pytest learning ----- detailed explanation of the request for interface automation test

趣-关于undefined的问题

78 year old professor Huake has been chasing dreams for 40 years, and the domestic database reaches dreams to sprint for IPO
随机推荐
Is it meaningful for 8-bit MCU to run RTOS?
Cobra 快速入门 - 专为命令行程序而生
Windows连接Linux上安装的Redis
d绑定函数
Windows connects redis installed on Linux
Interesting - questions about undefined
Running the service with systemctl in the container reports an error: failed to get D-Bus connection: operation not permitted (solution)
Markdown grammar - better blogging
Five data structures of redis
Jerry's setting currently uses the dial. Switch the dial through this function [chapter]
李书福为何要亲自挂帅造手机?
SQL优化问题的简述
Pytest learning ----- detailed explanation of the request for interface automation test
1700C - Helping the Nature
Common - magic number 7
I want to say more about this communication failure
Top command details
The easycvr platform reports an error "ID cannot be empty" through the interface editing channel. What is the reason?
Introduction to the usage of model view delegate principal-agent mechanism in QT
Why should Li Shufu personally take charge of building mobile phones?