监视Bone cp连接池

Npa*_*Npa 8 java connection hibernate connection-pooling bonecp

我们正在尝试从c3p0迁移到bonecp连接池.我们使用hibernate作为ORM工具.

现在,有没有什么办法来监控像结识池中的时间以及是否有游泳池等未归还的任何连接的特定点的最大可用和忙碌连接在boncecp的连接?

谢谢您的帮助

FrV*_*aBe 7

可以通过BoneCP连接池类(BoneCP)访问许多监视信息.这是注册为托管bean,因此如果您使用jconsole或其他一些监视工具,您应该获得此信息的详细视图,例如:

BoneCP MBean截图

如果需要,您可以BoneCPBoneCPDataSource使用中获取实例BoneCPDataSource#getPool():

/**
 * Get a status information of the JDBC connections.
 * 
 * @return The status information of the JDBC connections.
 */
public String getConnectionStatus() {
    String status = "unknown";
    if (dataSource instanceof BoneCPDataSource) {

        BoneCPDataSource bcpDataSource = (BoneCPDataSource) dataSource;
        BoneCP bcp = bcpDataSource.getPool();
        status = "JDBC connections: " + bcp.getTotalLeased()
            + " in use / " + bcp.getTotalFree()
            + " in pool / total created "
            + bcp.getTotalCreatedConnections();

    }
    return status;
}
Run Code Online (Sandbox Code Playgroud)