最近做了一个项目,虽然简单还是想用连接池练练手,我用的是proxool-0.8.3,因为手头上只有这个版本,也没有去下新版,变化应该不太大,数据库用的MySql5.0。
首先建一个web工程,然后写一个proxool.xml文件放到WEB-INF文件夹下,
proxool.xml的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<proxool-config>
<proxool>
<alias>db</alias>
<driverurl>jdbc:mysql://localhost:3306/nsdata</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="" />
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<simultaneous-build-throttle>20</simultaneous-build-throttle>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>1000</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</proxool-config>
简单解释一下:
1、<alias> :为该连接池起一个别名,在其他文件中引用。引用是:(proxool.db);
2、<house-keeping-sleep-time> :proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时销毁。
3.<prototype-count>:最少保持的空闲连接数。
4.<maximum-connection-count>: 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由<maximum-new-connections>决定。
5.<minimum-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>
注意这里须把把<load-on-startup>的值设为1,因为它是连接数据库的,所以必须首先加载它,值越小级别就越高,就优先被加载初始化。
这样就写好了,可以简单测试下:
核心代码:
proxoolName = "org.logicalcobwebs.proxool.ProxoolDriver";
try {
Class.forName(proxoolName);
try {
connection = DriverManager.getConnection("proxool.db");
} catch (SQLException e) {
System.out.println("can not connect");
}
} catch (ClassNotFoundException e) {
System.out.println("Class not find");
}
下边的增、删、改、查代码就和普通程序没什么区别了。
首先建一个web工程,然后写一个proxool.xml文件放到WEB-INF文件夹下,
proxool.xml的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<proxool-config>
<proxool>
<alias>db</alias>
<driverurl>jdbc:mysql://localhost:3306/nsdata</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="" />
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<simultaneous-build-throttle>20</simultaneous-build-throttle>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>1000</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</proxool-config>
简单解释一下:
1、<alias> :为该连接池起一个别名,在其他文件中引用。引用是:(proxool.db);
2、<house-keeping-sleep-time> :proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时销毁。
3.<prototype-count>:最少保持的空闲连接数。
4.<maximum-connection-count>: 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由<maximum-new-connections>决定。
5.<minimum-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>
注意这里须把把<load-on-startup>的值设为1,因为它是连接数据库的,所以必须首先加载它,值越小级别就越高,就优先被加载初始化。
这样就写好了,可以简单测试下:
核心代码:
proxoolName = "org.logicalcobwebs.proxool.ProxoolDriver";
try {
Class.forName(proxoolName);
try {
connection = DriverManager.getConnection("proxool.db");
} catch (SQLException e) {
System.out.println("can not connect");
}
} catch (ClassNotFoundException e) {
System.out.println("Class not find");
}
下边的增、删、改、查代码就和普通程序没什么区别了。