今天我第二次使用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>
这段标记是要求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的配置方法还有几种,这里我只尝试了上面的方式。其他的以后做了尝试在做补充