java获取C3P0连接池当前的状态

半兽人 发表于: 2018-09-11   最后更新时间: 2018-09-11 10:58:21  
{{totalSubscript}} 订阅,3498 游览

在C3P0的使用过程中,如果想实时获取连接池的状态,可通过以下方法。

  1. ComboPooledDataSource主要使用这个类的方法获取状态

  2. 如果你是用DataSource这个接口来接收的,那么,请先强转为ComboPooledDataSource;

例子:

Connection connection = null;
try {
    connection = dataSource.getConnection();
    ComboPooledDataSource cp = (ComboPooledDataSource) dataSource;
    System.out.println(cp.getMaxPoolSize());// 最大连接数
    System.out.println(cp.getMinPoolSize());// 最小连接数
    System.out.println(cp.getNumBusyConnections());// 正在使用连接数
    System.out.println(cp.getNumIdleConnections());// 空闲连接数
    System.out.println(cp.getNumConnections());// 总连接数
    connection.close();
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    connection.close();
}


您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容



提问