spring中2种oracle数据源的配置

<bean id="dataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
    <property name="targetDataSource">
      <bean class="org.logicalcobwebs.proxool.ProxoolDataSource">
          <property name="driver" value="${db.driver.class}" />
          <property name="driverUrl" value="${db.url}" />
          <property name="user" value="${db.username}" />
          <property name="password" value="${db.password}" />
          <property name="maximumConnectionCount"
                 value="${proxool.maxConnCount}" />
          <property name="minimumConnectionCount"
                 value="${proxool.minConnCount}" />
          <property name="statistics" value="${proxool.statistics}" />
          <property name="simultaneousBuildThrottle"
                   value="${proxool.simultaneousBuildThrottle}" />
          <property name="trace" value="${proxool.trace}" />
      </bean>
    </property>
</bean>

       dataSource定义数据源,本示例使用proxool数据库连接池,并使用LazyConnectionDataSourceProxy包装它,从而延迟获取数据库连接;${db.driver.class}将被“classpath:chapter7/resources.properties”中的“db.driver.class”元素属性值替换。

       proxool数据库连接池:本示例使用proxool-0.9.1版本,请到proxool官网下载并添加proxool-0.9.1.jar和proxool-cglib.jar到类路径。

       ProxoolDataSource属性含义如下:

  • driver:指定数据库驱动;
  • driverUrl:数据库连接;
  • username:用户名;
  • password:密码;
  • maximumConnectionCount:连接池最大连接数量;
  • minimumConnectionCount:连接池最小连接数量;
  • statistics:连接池使用样本状况统计;如1m,15m,1h,1d表示没1分钟、15分钟、1小时及1天进行一次样本统计;
  • simultaneousBuildThrottle:一次可以创建连接的最大数量;
  • trace:true表示被执行的每个sql都将被记录(DEBUG级别时被打印到相应的日志文件);

 

 

如:用proxool

<bean id="dataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">  
  <property name="targetDataSource">  
   <bean class="org.logicalcobwebs.proxool.ProxoolDataSource">
    <property name="alias" value="emergencyPool"></property><!--别名-->
    <property name="driver" value="oracle.jdbc.driver.OracleDriver"/><!--驱动-->
    <property name="driverUrl" value="jdbc:oracle:thin:@${demo.db.url}"/><!--地址-->
    <property name="delegateProperties" value="user=${demo.db.username},password=${demo.db.password}"/><!--用户密码-->
    <property name="user" value=""/><!--无需填写但必须存在-->
    <property name="password" value=""/><!--无需填写但必须存在-->
    <property name="minimumConnectionCount" value="2"/><!--最小连接数 默认2-->
    <property name="maximumConnectionCount" value="100"/><!--最大连接数 默认5-->
    <property name="maximumActiveTime" value="1800000"/><!--检测到某个线程的活动时间大于这个数值.它将会杀掉这个线程(毫秒)-->
    <property name="houseKeepingSleepTime" value="10000"/><!--侦察(自动)到空闲的连接就马上回收,超时的销毁(毫秒) 默认30秒-->
    <property name="prototypeCount" value="2"/><!--最少保持的空闲连接数 默认2-->
    <property name="simultaneousBuildThrottle" value="10"/><!--没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->
    <property name="maximumConnectionLifetime" value="14400000"/><!--连接最大生命时间 默认4小时-->
    <property name="houseKeepingTestSql" value="SELECT CURRENT_DATE FROM DUAL"/><!--用于保持连接的测试语句-->
   </bean>
  </property>  
 </bean> 

 

或者:(用dbcp)

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName">
   <value>oracle.jdbc.driver.OracleDriver</value>
  </property>
  <property name="url">
   <value>jdbc:oracle:thin:@${demo.db.url}</value>
  </property>
  <property name="username">
   <value>${demo.db.username}</value>
  </property>
  <property name="password">
   <value>${demo.db.password}</value>
  </property>
 </bean>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值