Wayne
井底的蛙--一直仰望着天空
posts - 16,comments - 6,trackbacks - 0
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 阅读(989) 评论(0)  编辑  收藏

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


网站导航: