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

在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();
}






发表于: 11天前   最后更新时间: 11天前   游览量:33
上一条: java多线程之ThreadPoolExecutor构造方法和规则
下一条: ListenableFuture根据结果,主动中断流程 -Java

评论…


  • 评论…
    • in this conversation