ice world

There is nothing too difficult if you put your heart into it.
posts - 104, comments - 103, trackbacks - 0, articles - 0

proxool数据源的配置方法

Posted on 2011-04-16 14:11 IceWee 阅读(382) 评论(0)  编辑  收藏 所属分类: Java
以前都是用SSH框架,spring借助的是Tomcat的dbcp数据源,最近做网站也没用什么框架,直接Sservlet+JSP,依旧用的 Tomcat的dbcp做数据源,经常发现网络不好时连接就获取不到了,那是因为池子中的连接都已经无效了,Tomcat数据源的自动重连貌似配置较为复杂,很多人建议用proxool做数据源,下面是proxool的配置方法:

1.下载proxool,自己到网站http://proxool.sourceforge.net/download.html随便下载一个版本,解压后进入目录lib,会得到两个jar文件,分别为proxool-0.9.1.jar(版本不同可能名称有所不同)和proxool-cglib.jar,将这两个jar文件拷贝到项目的WEB-INF/lib下

2.配置web.xml,需要配置proxool的Servlet,如下:

<servlet>
    
<servlet-name>proxoolServletConfigurator</servlet-name>
    
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator
    
</servlet-class>
    
<init-param>
        
<param-name>xmlFile</param-name>
        
<param-value>WEB-INF/proxool.xml</param-value>
    
</init-param>
    
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
    
<servlet-name>proxooladmin</servlet-name>
    
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet
    
</servlet-class>
</servlet>
<servlet-mapping>
    
<servlet-name>proxooladmin</servlet-name>
    
<url-pattern>/proxooladmin</url-pattern>
</servlet-mapping>


3.创建proxool.xml文件,将此文件放在与web.xml同级目录下,即WEB-INF下

<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
    
<proxool>
        
<alias>testDB</alias>
        
<driver-url>jdbc:oracle:thin:@192.168.1.229:1521:orcl</driver-url>
        
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        
<driver-properties>
            
<property name="user" value="test_user" />
            
<property name="password" value="password" />
        
</driver-properties>
        
<maximum-connection-count>10</maximum-connection-count>
        
<minimum-connection-count>5</minimum-connection-count>
        
<prototype-count>5</prototype-count>
        
<test-before-use>true</test-before-use>
        
<house-keeping-sleep-time>180000</house-keeping-sleep-time>
        
<house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
    
</proxool>
</something-else-entirely>

上面的<test-before-use>true</test-before-use>据说是用来自动重连的,也就是在网络错误或数据库重启等等原因导致与数据库断开,每次获取连接前都会检查,如果现在池子中的连接已经无效将会重新创建


4.在java中获取数据库连接的代码

Connection con = DriverManager.getConnection("proxool.testDB");



只有注册用户登录后才能发表评论。


网站导航: