9

c3p0 から bonecp 接続プールに移動しようとしています。ORM ツールとして hibernate を使用します。

さて、特定の時点でプール内の最大利用可能でビジーな接続を知り、プールへの未返の接続があるかどうかなど、boncecp で接続を監視する方法はありますか?

助けてくれてありがとう

4

1 に答える 1

7

多くの監視情報は、BoneCP 接続プール クラス ( BoneCP ) を介してアクセスできます。これはマネージド Bean として登録されるため、jconsole またはその他の監視ツールを使用する場合は、この情報の詳細ビューを取得する必要があります。

BoneCP MBean のスクリーンショット

必要に応じて、 usingBoneCPからインスタンスを取得できます。BoneCPDataSourceBoneCPDataSource#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;
}
于 2012-08-21T12:40:25.313 に答える