Proxool技术是一种开源的java连接池技术,具体介绍google或者百度之。项目组使用它的原因是它在性能上和易用性上都有很大的优势。
1,下载与安装
http://proxool.sourceforge.net/ 页面下载jar文件,将路径加入到project的buildpath里面
2,配置
在proxool主站的配置页下,介绍了5种配置proxool连接池的方法,当然目前最直接最方便和通用的无疑是强大的xml技术,因此我们采用的就是利用xml配置文件进行配置的方法。
下面是一段配置文件proxool.xml的示例(数据库采用的是sqlserver):
1 <?xml version="1.0" encoding="UTF-8"?>
2 <something-else-entirely>
3 <proxool>
4 <alias>your_own_name</alias>
5 <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=database_name</driver-url>
6 <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
7 <driver-properties>
8 <property name="user" value="xxxxxx"/>
9 <property name="password" value="xxxxxx"/>
10 </driver-properties>
11 <maximum-connection-count>5</maximum-connection-count>
12 <minimum-connection-count>2</minimum-connection-count>
13 <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
14 </proxool>
15 <proxool>
16 <alias>xxxx</alias>
17 <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=another_database_name</driver-url>
18 <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
19 <driver-properties>
20 <property name="user" value="xxxxxx"/>
21 <property name="password" value="xxxxxx"/>
22 </driver-properties>
23 <maximum-connection-count>5</maximum-connection-count>
24 <minimum-connection-count>2</minimum-connection-count>
25 <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
26 </proxool>
27 </something-else-entirely>
28
配置文件中的一些内容需要修改成自己项目对应的信息。
1.<alias> :为该连接池起一个别名,在其他文件中引用。引用是:(proxool.your_own_name);
2. <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=another_database_name</driver-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<driver-properties>
<property name="user" value="xxxxxx"/>
<property name="password" value="xxxxxx"/>
</driver-properties>
这些配置大家应该比较熟悉吧。配置JDBC连接不同数据库的驱动类和连接URL。
4.<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
proxool在未断开的连接空闲的时候 会隔段时间执行这条sql语句以维持连接
5.<maximum-new-connections>:指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受。
6.<prototype-count>:最少保持的空闲连接数。
7.<maximum-connection-count>: 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定
8.<minimum-connection-count>:最小连接数
3.初始化连接池
在proxool的包中有这样一个类org.logicalcobwebs.proxool.configuration.JAXPConfigurator可以接收xml配置文件解析并进行初始化连接池。
1 JAXPConfigurator.configure("src/java-test/org/logicalcobwebs/proxool/configuration/proxool.xml", false);
2 // The false means non-validating
一般使用包装好的org.logicalcobwebs.proxool.configuration.ServletConfigurator类进行解析
如果在tomcat启动的时候web.xml中加入ServletConfigurator类的servlet配置并将此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>
这样以来,就能够在程序中应用连接池进行连接数据库了。
4.利用连接池连接数据库
使用下面的语句:
1 connection = DriverManager.getConnection("proxool.your_own_name");
5.利用proxool提供的web化监测所配置的连接池
proxool中提供了AdminServlet监测连接池中的数据库,利用web.xml配置其servlet mapping 就可以通过浏览器进行监测了。
同样在web.xml中配置
1 <servlet>
2 <servlet-name>Admin</servlet-name>
3 <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
4 </servlet>
5 <servlet-mapping>
6 <servlet-name>Admin</servlet-name>
7 <url-pattern>/admin</url-pattern>
8 </servlet-mapping>
具体内容很简单,不再详细解释了。
posted on 2010-04-12 17:26
waynewan 阅读(997)
评论(0) 编辑 收藏