spring中2种oracle数据源的配置

来源:互联网 发布:2015淘宝做什么产品好 编辑:程序博客网 时间:2024/06/07 20:55

       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>

原创粉丝点击