今天我第二次使用proxool 这个东东,proxool是老师告诉我的(感谢他)

记录一下使用proxool的配置,和碰到的问题。

我用的开发工具是 MyEclipse  , Tomcat 6.0 ,Proxool-0.9.0

1:要将 proxool-0.9.0RC3.jar  和 commons-logging.jar 放到 Tomcat  / webapps / web项目 / lib 里
<看到网路上很多人说,只用 将 proxool-0.9.0RC3.jar  拷贝到 项目的lib里,尝试了后,重启tomcat,提示信息要求将 commons-logging.jar 也拷入哦 >

2:在 Tomcat  / webapps / web项目 / Web-Inf / 下,建立一个文件: proxool.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
 <!-- the proxool configuration can be embedded within your own application's.
     Anything outside the "proxool" tag is ignored. --><something-else-entirely>
     <proxool>
         <alias>mydata</alias>
         <driver-url>
             jdbc:oracle:thin:@127.0.0.1:1521:test
         </driver-url>
         <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
         <driver-properties>
             <property name="user" value="test" />
             <property name="password" value="test" />
        </driver-properties>
                  <minimum-connection-count>5</minimum-connection-count>
         <maximum-connection-count>20</maximum-connection-count>         <house-keeping-test-sql>select * from dual</house-keeping-test-sql>
     </proxool>
 </something-else-entirely>


这里,mydata是别名;


            driver-url是数据库驱动的url,就是连接的url;


            driver-class是驱动的类,就是数据库驱动;


            driver-properties是驱动的属性,可以设置登陆数据库的用户名和密码。


            maximum-connection-count是最大连接数。


3. 修改 Tomcat  / webapps / web项目 / Web-Inf / 的web.xml,在这个文件中增加如下内容:


<servlet>
    <servlet-name>ServletConfigurator</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>

proxool 的使用 配置_tomcat

这段标记是要求tomcat在启动的时候加载proxool驱动并且指明 proxool.xml的位置

另外:

<servlet> 
        <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>


加上这个可以查看当前的连接数,比较直观.

<需要注意的是,如果你是先在 Tomcat  / webapps / web项目 / Web-Inf / 修改的web.xml,一定要记得在 MyEclipse里的该项目下,也要在 web.xml 加上 这段 <servelt> ..................</servlet>哦,我就犯了这样一个错误,因为每次z在MyEclipse 下,重新发布这个项目是,tomcat下的这个项目都会被重新覆盖的,所以你最好直接就在MyEclipse 下面 改 web.xml 好了,只用添加一次的>



到此proxool的配置就完成了,建立链接时需要如下代码:

Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
    Connection  conn = DriverManager.getConnection("proxool.mydata"); 
   // mydata就是刚才你proxool.xml 里,一个配置的别名
    // 一个proxool.xml 文件里可以配置多个 别名不同的数据库连接应用


其它配置属性:

maximum-connection-lifetime   最大连接生命周期  默认值:4小时

maximum-active-time:     最大活动时间   默认值:5分钟

maximum-connection-count   最大连接数    默认值:15个

minimum-connection-count   最小连接数    默认值:5个



********************************************************************

然后就是应用了,我在应用的时候,发现tomcat提示了这样的错误:


Attempt to refer to a unregistered pool by its alias 'mydata'。 --------> 是说proxool数据库连接池未配置成功


如果你也出了这样的错误,大都是因为 proxool.xml 和web.xml 没有配置好,(我的错就处在,上面提到的,忘了修改 MyEclipse 里的 web.xml),所以还是要耐心检查一下你的配置, 一定会成功的。


如果成功了,启动tomcat 的时候,就可以看见这样的信息:


proxool 的使用 配置_xml_02



proxool的配置方法还有几种,这里我只尝试了上面的方式。其他的以后做了尝试在做补充