使用Proxool连接池

来源:互联网 发布:局域网协同办公软件 编辑:程序博客网 时间:2024/05/02 04:39

首先从 http://proxool.sourceforge.net/ 下载proxool-0.9.0RC2.zip
解压后,把commons-logging.jar和proxool-0.9.0RC2.jar放到工程的lib文件夹里面。
方法一:
和JDBC连接方法类似。
JDBC连接方法:
Class.forName("com.mysql.jdbc.Driver");//数据库的驱动
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student","root","root");//连接的url
proxool连接方法:
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
Connection con = DriverManager.getConnection("proxool.aaa:com.mysql.jdbc.Driver:jdbc:mysql://127.0.0.1:3306/student","root","root");
需要注意的是,Class.forName加载的是proxool的驱动。
getConnection里url的内容是("proxool.别名:数据库的驱动:连接的url")
这里的别名可以随便填写,但一定要写……
方法二:
首先在WEB-INF目录下创建proxool.xml文件。
内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>mysql</alias>
<driver-url>jdbc:mysql://127.0.0.1:3306/student</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="root"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
</proxool>
</something-else-entirely>
proxool.xml这个文件是用来设置别名的。其中<proxool>标签就是别名的设置段。
alias是别名;
driver-url是驱动的url,就是连接的url;
driver-class是驱动的类,就是数据库驱动;
driver-properties是驱动的属性,可以设置登陆数据库的用户名和密码。
maximum-connection-count是最大连接数。
在工程的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的位置。
不写的话,上面设置的别名就没用了。

做完上面的工作后,建立连接只需要
Connection con = DriverManager.getConnection("proxool.mysql");
这一句就可以了,Class.forName也不需要了。
注:别名是可以设置多个的,我们在连接多种数据库的时候就可以设置多个别名方便访问了!!
查看proxool的状态
在工程的web.xml里添加
<servlet>
<servlet-name>Admin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Admin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>
就可以通过/admin来访问proxool的状态了。