Spring中配置连接池以及三种不同数据库的配置Word下载.docx
- 文档编号:18683464
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:13
- 大小:20.01KB
Spring中配置连接池以及三种不同数据库的配置Word下载.docx
《Spring中配置连接池以及三种不同数据库的配置Word下载.docx》由会员分享,可在线阅读,更多相关《Spring中配置连接池以及三种不同数据库的配置Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
web.xml
-------------------------
<
servlet>
<
servlet-name>
contextConfigLocation<
/servlet-name>
servlet-class>
org.springframework.web.context.ContextLoaderServlet
/servlet-class>
load-on-startup>
2<
/load-on-startup>
/servlet>
proxoolServletConfigurator<
org.logicalcobwebs.proxool.configuration.ServletConfigurator<
init-param>
param-name>
xmlFile<
/param-name>
param-value>
WEB-INF/proxool.xml<
/param-value>
/init-param>
1<
proxooladmin<
org.logicalcobwebs.proxool.admin.servlet.AdminServlet<
servlet-mapping>
url-pattern>
/proxooladmin<
/url-pattern>
/servlet-mapping>
proxool.xml
?
xmlversion="
1.0"
encoding="
UTF-8"
>
!
--theproxoolconfigurationcanbeembeddedwithinyourownapplication'
s.Anythingoutsidethe&
quot;
proxool&
tagisignored.-->
something-else-entirely>
proxool>
alias>
mydata<
/alias>
driver-url>
jdbc:
sqlserver:
//localhost:
1433;
DatabaseName=TEST;
SelectMethod=cursor
/driver-url>
driver-class>
com.microsoft.sqlserver.jdbc.SQLServerDriver
/driver-class>
driver-properties>
propertyname="
user"
value="
TEST"
/>
password"
/driver-properties>
--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
house-keeping-sleep-time>
60<
/house-keeping-sleep-time>
--指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受。
-->
maximum-new-connections>
10<
/maximum-new-connections>
--最少保持的空闲连接数-->
prototype-count>
5<
/prototype-count>
--允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
maximum-connection-count>
20<
/maximum-connection-count>
--最小连接数-->
minimum-connection-count>
/minimum-connection-count>
test-before-use>
true<
/test-before-use>
house-keeping-test-sql>
selectcount
(1)fromdd_info
/house-keeping-test-sql>
/proxool>
/something-else-entirely>
1、在spring配置文件中,一般在applicationContext.xml中
beanid="
proxoolDataSource"
class="
org.logicalcobwebs.proxool.ProxoolDataSource"
driver"
${jdbc.connection.driverClassName}"
/>
driverUrl"
${jdbc.connection.url}"
${jdbc.connection.username}"
${jdbc.connection.password}"
--测试的SQL执行语句-->
houseKeepingTestSql"
${proxool.houseKeepingTestSql}"
--最少保持的空闲连接数(默认2个)-->
prototypeCount"
${proxool.prototypeCount}"
--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁默认30秒)-->
houseKeepingSleepTime"
${proxool.hourseKeepingSleepTime}"
--最大活动时间(超过此时间线程将被kill,默认为5分钟)-->
maximumActiveTime"
${proxool.maximumActiveTime}"
--连接最长时间(默认为4个小时)-->
maximumConnectionLifetime"
${proxool.maximumConnectionLifetime}"
--最小连接数(默认2个)-->
minimumConnectionCount"
${proxool.minimumConnectionCount}"
--最大连接数(默认5个)-->
maximumConnectionCount"
${proxool.maximumConnectionCount}"
---->
statistics"
${proxool.statistics}"
--别名-->
alias"
${proxool.alias}"
simultaneousBuildThrottle"
${proxool.simultaneous-build-throttle}"
/bean>
然后注入到sessionFactory中
sessionFactory"
org.springframework.orm.hibernate3.LocalSessionFactoryBean"
dataSource"
ref="
Porxool配置文件
--==--==--==--==--==<
proxool.xml>
==--==--==--==--==--==--==
WMS<
jdbc:
postgresql:
//192.168.210.184:
5432/wms<
org.postgresql.Driver<
wms_user"
wms"
40<
simultaneous-build-throttle>
/simultaneous-build-throttle>
selectCURRENT_DATE<
配置说明:
alias-〉数据库连接别名(程序中需要使用的名称)
driver-url-〉数据库驱动
driver-class-〉驱动程序类
driver-properties-〉联机数据库的用户和密码
minimum-connection-count-〉最小连接数量,建议设置0以上,保证第一次连接时间
maximum-connection-count-〉最大连接数量,如果超过最大连接数量则会抛出异常。
连接数设置过多,服务器CPU和内存性能消耗很
大。
simultaneous-build-throttle-〉同时最大连接数
prototype-count-〉一次产生连接的数量。
例:
如果现在prototype-count设置为4个,但是现在已经有2个可以获得的连接,那么
将会试图再创建2个连接。
但不能超过最大连接数。
maximum-active-time-〉连接最大时间活动默认5分钟
maximum-connection-lifetime-〉连接最大生命时间默认4小时
三种不同数据库连接池的配置
1.sqlserver2000
beansxmlns="
http:
//www.springframework.org/schema/beans"
xmlns:
xsi="
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
//www.springframework.org/schema/beanshttp:
//www.springframework.org/schema/beans/spring-beans-2.0.xsd"
--HibernateSessionFactory-->
reflocal="
/property>
mappingResources"
list>
value>
com/oy/image/model/LoginUser.hbm.xml<
/value>
/list>
hibernateProperties"
props>
propkey="
hibernate.dialect"
org.hibernate.dialect.SQLServerDialect<
/prop>
hibernate.show_sql"
hibernate.generate_statistics"
hibernate.connection.release_mode"
auto<
hibernate.autoReconnect"
/props>
com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="
close"
driverClass"
com.microsoft.jdbc.sqlserver.SQLServerDriver<
jdbcUrl"
microsoft:
databaseName=users<
bruce<
--连接池中保留的最小连接数。
minPoolSize"
--连接池中保留的最大连接数。
Default:
15-->
maxPoolSize"
30<
--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。
3-->
initialPoolSize"
--最大空闲时间,60秒内未使用则连接被丢弃。
若为0则永不丢弃。
0-->
maxIdleTime"
--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。
acquireIncrement"
--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。
但由于预缓存的statements
属于单个connection而不是整个连接池。
所以设置这个参数需要考虑到多方面的因素。
如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。
0-->
maxStatements"
0<
--每60秒检查所有连接池中的空闲连接。
idleConnectionTestPeriod"
--定义在从数据库获取新连接失败后重复尝试的次数。
30-->
acquireRetryAttempts"
--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。
但是数据源仍有效
保留,并在下次调用getConnection()的时候继续尝试获取连接。
如果设为true,那么在尝试
获取连接失败后该数据源将申明已断开并永久关闭。
false-->
breakAfterAcquireFailure"
--因性能消耗大请只在需要的时候使用它。
如果设为true那么在每个connection提交的
时候都将校验其有效性。
建议使用idleConnectionTestPeriod或automaticTestTable
等方法来提升连接测试的性能。
false-->
testConnectionOnCheckout"
false<
imageDao"
name="
com.oy.image.dao.hibernate.ImageDaoHibernate"
abstract="
false"
lazy-init="
default"
autowire="
dependency-check="
refbean="
imageManager"
com.oy.image.service.impl.ImageManagerImpl"
/beans>
2.mysql
com.mysql.jdbc.Dr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Spring 配置 连接 以及 不同 数据库