2012-08-06 36 views
8

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

ここで、boncecpの接続を監視する方法はありますか?特定の時点でプール内の最大空き時間と接続が分かっているかどうか、プールに未接続の接続があるかどうかなどです。ヘルプ

答えて

7

監視情報の多くはBoneCP接続プール・クラス(BoneCP)を介してアクセス可能であるため

感謝。これは、管理対象Beanとして登録されているので、あなたは、jconsoleをまたはいくつかの他の監視ツールを使用する場合は、この情報に詳細なビューを取得する必要があり、例えば:

BoneCP MBean Screenshot

必要な場合は、BoneCPDataSourceからBoneCPインスタンスを取得することができます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; 
} 
+0

+マットボール編集ありがとうございます! – FrVaBe