spring中dbcp更换为proxool

由于dbcp可能存在bug,于是决定将dbcp更换为proxool,
编写过内容如下:
1、添加一个spring的proxool的数据源
 <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="close">
     <property name="driver">
    <value>${jdbc.driverClassName}</value>
  </property>
  <property name="driverUrl">
    <value>${jdbc.url};user=${jdbc.username};password=${jdbc.password}</value>
  </property>
  <property name="user">
    <value>${jdbc.username}</value>
  </property>
  <property name="password">
    <value>${jdbc.password}</value>
  </property>
  <property name="alias">
    <value>eomspool</value>
  </property>
  <property name="houseKeepingSleepTime">
    <value>90000</value>
  </property>
  <property name="prototypeCount">
    <value>5</value>
  </property>
  <property name="maximumConnectionCount">
    <value>100</value>
  </property>
  <property name="minimumConnectionCount">
    <value>10</value>
  </property>
  <property name="trace">
    <value>true</value>
  </property>
  <property name="verbose">
    <value>true</value>
  </property>
 </bean>
2、添加proxoll.jar到lib目录下
3、在web.xml中添加管理
 <servlet-name>proxool</servlet-name>
   <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
 </servlet>
 
 <servlet-mapping>
   <servlet-name>proxool</servlet-name>
   <url-pattern>/proxool</url-pattern>
 </servlet-mapping>
经过上面的步骤已经将proxool的数据源搭建成功,但是由于程序中采用了Informix的Blob字段类型,需要取得数据库连接的原生连接,
经过查看spring的代码中包含了dbcp,c3p0的取得原生代码的连接,
没有proxool的,所以编写扩展ProxoolNativeJdbcExtractor
/**
 * 扩展native jdbc对proxool的支持。
 * <p>
 * proxool采用的是代理的方式管理连接池。
 *
 * @author GL(netliving@163.com)
 *
 */
public class ProxoolNativeJdbcExtractor extends NativeJdbcExtractorAdapter {
 
 protected Connection doGetNativeConnection(Connection con) throws SQLException {

  if(con instanceof Factory){
   Factory factory = (Factory)con;
         WrappedConnection wc = (WrappedConnection) factory.getCallback(0);
         return wc.getProxyConnection().getConnection();
  }
  return con;
 }
}

在程序中编写取得方法,完成系统的修改。启动后通过控制界面查看连接池的运行状态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值