2012-08-06 10 views
8

Stiamo provando a passare al pool di connessioni bonecp da c3p0. usiamo l'ibernazione come strumento ORM.Monitoring Bone cp Pool di connessione

Ora, c'è un modo per monitorare le connessioni in boncecp come conoscere la connessione massima disponibile e occupata nel pool in un particolare punto del tempo e se ci sono delle connessioni non ritornate al pool, ecc?

Grazie per l'aiuto

risposta

7

Un sacco di informazioni di monitoraggio è accessibile tramite la classe pool di connessioni BoneCP (BoneCP). Questa è registrato come un bean gestito, quindi se si utilizza jconsole o qualche altro strumento di monitoraggio si dovrebbe ottenere una visione dettagliata a queste informazioni, ad esempio:

BoneCP MBean Screenshot

Se necessario è possibile ottenere l'istanza BoneCP da un BoneCPDataSource utilizzando 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

+ Matt Ball Grazie per la modifica! – FrVaBe

Problemi correlati