这个proxool连接池弄了很久,网上的资料大多不全,或者都是在将怎么配置,怎么用的说的很少或是太复杂了不容易懂
来说说proxool这个连接池:这个连接池最大的特点就是能够监视连接池的情况,及时发现数据溢出之类的问题
建立proxool连接池的步骤:
1.导入jar包:proxool-0.9.1.2.jar 和 proxool-cglib.jar
2.配置PROXOOL文件,proxool.xml
<?xml version="1.0" encoding="UTF-8"?>
<proxool-config>
<proxool>
<!-- 连接池别名 -->
<alias>test</alias>
<!-- 连接数据库的驱动URL -->
<driver-url>jdbc:mysql://localhost:3306/usta</driver-url>
<!-- 连接数据库的驱动类 -->
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="root" />
</driver-properties>
<!-- 处于睡眠的最大时间 -->
<house-keeping-sleep-time>900000</house-keeping-sleep-time>
<!-- 连接的最大活动时间 -->
<maximum-active-time>500000</maximum-active-time>
<!-- 最大的连接数量 -->
<maximum-connection-count>10</maximum-connection-count>
<!-- 最小的连接数量 -->
<minimum-connection-count>4</minimum-connection-count>
<!-- 检测连接是否处于空闲状态,执行这条语句来测试 -->
<house-keeping-test-sql>select 1</house-keeping-test-sql>
<prop key="hibernate.connection.release_mode">after_transaction</prop>
</proxool>
</proxool-config>
3.写一个proxool工具类
package com.xx.train.bdqn.jdbc.utils;
//proxool工具类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class PROXOOLUtils {
public static Connection getConnection() {
Connection con = null;
try {
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/usta", "root", "root");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
}
4.写一个测试类
package com.xx.train.bdqn.jdbc.utils;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class AddPROXOOL {
public void addUser() throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
con = PROXOOLUtils.getConnection();
String sql = "insert into user value(null,?,?)";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, "xx");
pstmt.setString(2, "123");
int n = pstmt.executeUpdate();
if (n > 0) {
System.out.println("更新成功");
} else {
System.out.println("更新失败");
}
}
}
5.调用测试类
package com.xx.train.bdqn.jdbc.test;
import com.xx.train.bdqn.jdbc.utils.AddPROXOOL;
public class TestPROXOOL {
public static void main(String[] args) throws Exception {
AddPROXOOL a = new AddPROXOOL();
a.addUser();
}
}