<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver" value="@DB-DRIVERNAME@"/>
<property name="driverUrl" value="@DB-URL@"/>
<property name="user" value="@DB-USERNAME@"/>
<property name="password" value="@DB-PASSWORD@"/>
<property name="alias" value="wecs"/>
<property name="houseKeepingSleepTime" value="90000"/>
<property name="houseKeepingTestSql" value="select 1 from dual"/>
sqlMapConfig.xml:
- ﹤?xml
version
=
"1.0"
encoding
=
"UTF-8"
?﹥
- ﹤!DOCTYPE sqlMapConfig
- PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
- "http://www.ibatis.com/dtd/sql-map-config-2.dtd"﹥
用proxool连接池方式,只有datasource发生变化,其他的无变动
- ﹤sqlMapConfig﹥
- ﹤properties
resource
=
"包路径/DataSource.properties"
/﹥
- ﹤settings//连接池配置项
cacheModelsEnabled
=
"true"
//是否启用缓存,建议为ture
enhancementEnabled
=
"true"
//是否针对POJO启用字节码增强机制,建议为true
lazyLoadingEnabled
=
"true"
//是否启用延迟加载
maxRequests
=
"32"
//最大并发请求数
maxSessions
=
"10"
//最大并发允许的SqlMapClien数,介于最大并发请求和事务数之间
maxTransactions
=
"5"
//最大并发事务数
useStatementNamespaces
=
"true"
//是否启用空间命名
- /﹥
- ﹤transactionManager
type
=
"JDBC"
﹥ //JDBC配置项
- ﹤dataSource
type
=
"SIMPLE"
﹥
- ﹤property
name
=
"JDBC.Driver"
value
=
"${driver}"
/﹥ //${}中引用Source
- ﹤property
name
=
"JDBC.ConnectionURL"
value
=
"${url}"
/﹥
- ﹤property
name
=
"JDBC.Username"
value
=
"${username}"
/﹥
- ﹤property
name
=
"JDBC.Password"
value
=
"${password}"
/﹥
- ﹤/dataSource﹥
- ﹤/transactionManager﹥
- ﹤sqlMap
resource
=
"包路径/*1.xml"
/﹥ //映射文件的位置,配置中可出现多个sqlMap 节点,以指定
- // 项目内所包含的所有映射文件
- ﹤sqlMap
resource
=
"包路径/*2.xml"
/﹥
- ﹤sqlMap
resource
=
"包路径/*3.xml"
/﹥
- ﹤/sqlMapConfig﹥
需要加入proxool.jar
< property name ="alias" value ="test" ></ property >
< property name ="delegateProperties" >
< value > user=${jdbc.username},password=${jdbc.password} </ value >
</ property >
< property name ="user" value ="${jdbc.username}" />
< property name ="password" value ="${jdbc.password}" />
< property name ="driver" value ="${jdbc.driverClassName}" />
< property name ="driverUrl" value ="${jdbc.url}" />
< property name ="houseKeepingTestSql" value ="select CURRENT_DATE" ></ property >
<!-- 此处继续增加proxool属性,详细见proxool文档-->
</ bean >
此处说明一下:属性中的user和password不起任何作用,需要用delegateProperties方式写一下,否则会报错误,如下
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ''. The user is not associated with a trusted SQL Server connection.
但是user和password还不能被去掉。
除了上面的用delegateProperties之外,还可以将用户名和密码直接写在url后面。
proxool属性的说明,在这里写的比较详细
http://www.cnblogs.com/wllyy189/archive/2008/10/15/1311560.html
该文档URL:http://www.blogjava.net/landor2004/archive/2009/07/01/284978.html