package com.javamonitor.openfire.mbeans; import org.logicalcobwebs.proxool.ConnectionPoolDefinitionIF; import org.logicalcobwebs.proxool.ProxoolException; import org.logicalcobwebs.proxool.ProxoolFacade; import org.logicalcobwebs.proxool.admin.SnapshotIF; /** * The database monitor pool. * * XXX it makes more sense to register Proxools JMX features directly! * * @author Guus der Kinderen, guus.der.kinderen@gmail.com */ public class DatabasePool implements DatabasePoolMBean { private static SnapshotIF getSnapshot() throws ProxoolException { return ProxoolFacade.getSnapshot("openfire", true); } private static ConnectionPoolDefinitionIF getPoolDef() throws ProxoolException { return ProxoolFacade.getConnectionPoolDefinition("openfire"); } /** * Start collecting database packets. */ public void start() { // nothing to do... } /** * Stop collecting data. */ public void stop() { // nothing to do... } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getActiveConnectionCount() */ public int getActiveConnectionCount() throws ProxoolException { return getSnapshot().getActiveConnectionCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getAvailableConnectionCount() */ public int getAvailableConnectionCount() throws ProxoolException { return getSnapshot().getAvailableConnectionCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getConnectionCount() */ public long getConnectionCount() throws ProxoolException { return getSnapshot().getConnectionCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getOfflineConnectionCount() */ public int getOfflineConnectionCount() throws ProxoolException { return getSnapshot().getOfflineConnectionCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getRefusedCount() */ public long getRefusedCount() throws ProxoolException { return getSnapshot().getRefusedCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getServedCount() */ public long getServedCount() throws ProxoolException { return getSnapshot().getServedCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getMaximumConnectionCount() */ public int getMaximumConnectionCount() throws ProxoolException { return getPoolDef().getMaximumConnectionCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getMinimumConnectionCount() */ public int getMinimumConnectionCount() throws ProxoolException { return getPoolDef().getMinimumConnectionCount(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getMaximumActiveTime() */ public long getMaximumActiveTime() throws ProxoolException { return getPoolDef().getMaximumActiveTime(); } /** * @see com.javamonitor.openfire.mbeans.DatabasePoolMBean#getMaximumConnectionLifetime() */ public long getMaximumConnectionLifetime() throws ProxoolException { return getPoolDef().getMaximumConnectionLifetime(); } }