Author: shawkins
Date: 2009-08-17 17:38:58 -0400 (Mon, 17 Aug 2009)
New Revision: 1254
Removed:
trunk/common-internal/src/main/java/com/metamatrix/common/stats/
Modified:
trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java
trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectionPool.java
trunk/client/src/main/java/org/teiid/adminapi/ConnectionPool.java
trunk/client/src/main/java/org/teiid/adminapi/MonitoringAdmin.java
trunk/common-internal/src/main/java/com/metamatrix/common/config/model/BasicExtensionModule.java
trunk/engine/src/main/java/com/metamatrix/dqp/service/DataService.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/ConnectionPool.java
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java
trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPMonitoringAdminImpl.java
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java
trunk/server/src/main/java/com/metamatrix/admin/server/AbstractAdminImpl.java
trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java
trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java
trunk/server/src/main/java/com/metamatrix/platform/admin/apiimpl/RuntimeStateAdminAPIHelper.java
trunk/server/src/main/java/com/metamatrix/platform/service/api/ServiceInterface.java
trunk/server/src/main/java/com/metamatrix/platform/service/controller/AbstractService.java
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorService.java
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorServiceInterface.java
trunk/server/src/test/java/com/metamatrix/admin/server/FakeCacheAdmin.java
trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java
trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java
trunk/server/src/test/java/com/metamatrix/admin/server/FakeServerSessionService.java
trunk/server/src/test/java/com/metamatrix/platform/service/controller/FakeService.java
Log:
TEIID-580 finishing the implementation of connectionpool monitoring for use in embedded
and the new server.
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java 2009-08-17
21:28:20 UTC (rev 1253)
+++ trunk/client/src/main/java/com/metamatrix/admin/objects/MMAdminObject.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -31,6 +31,7 @@
import org.teiid.adminapi.AdminException;
import org.teiid.adminapi.AdminObject;
import org.teiid.adminapi.AdminProcessingException;
+import org.teiid.adminapi.ConnectionPool;
import org.teiid.adminapi.Transaction;
import com.metamatrix.admin.AdminPlugin;
@@ -94,9 +95,10 @@
public static final int OBJECT_TYPE_VDB = 21;
/**Object type code for TRANSACTION*/
public static final int OBJECT_TYPE_TRANSACTION = 22;
+ /**Object type code for CONNECTION_POOL*/
+ public static final int OBJECT_TYPE_CONNECTION_POOL = 23;
-
//map of String (class name) to Integer (object type code)
private static HashMap objectTypeMap = new HashMap();
@@ -124,6 +126,7 @@
objectTypeMap.put(org.teiid.adminapi.User.class.getName(), new
Integer(OBJECT_TYPE_USER));
objectTypeMap.put(org.teiid.adminapi.VDB.class.getName(), new
Integer(OBJECT_TYPE_VDB));
objectTypeMap.put(Transaction.class.getName(),
Integer.valueOf(OBJECT_TYPE_TRANSACTION));
+ objectTypeMap.put(ConnectionPool.class.getName(),
Integer.valueOf(OBJECT_TYPE_CONNECTION_POOL));
}
Modified: trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectionPool.java
===================================================================
---
trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectionPool.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/client/src/main/java/com/metamatrix/admin/objects/MMConnectionPool.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -2,31 +2,15 @@
import org.teiid.adminapi.ConnectionPool;
-public class MMConnectionPool extends MMAdminObject implements ConnectionPool {
+public class MMConnectionPool implements ConnectionPool {
/**
* @since 6.1
*/
private static final long serialVersionUID = -2341549955193216875L;
- /**
- * This will the name of the connector binding
- */
- private String connectorBindingName;
-
-
+ private boolean xa;
/**
- * This will be identifier used in the registry to identify the connector
- * binding and in which host and process that it's running in
- */
- private String connectorBindingIdentifier;
-
-
- private int poolType;
-
-
- // current state
- /**
* Number of connections currently in use by a client
*/
private int connectionInUse;
@@ -39,8 +23,6 @@
*/
private int totalConnections;
-
- // total counts never reset
/**
* Total number of connections that have been destroyed since the inception of the pool
*/
@@ -49,41 +31,26 @@
* Total number of connections that have been created since the inception of the pool
*/
private long connectionsCreated;
-
- public MMConnectionPool() {
- }
-
+ private String connectorBindingIdentifier;
+
public boolean isXAPoolType() {
- return (this.poolType==1?true:false);
+ return xa;
}
- public int getPoolType() {
- return this.poolType;
+ public void setXa(boolean xa) {
+ this.xa = xa;
}
- public void setPoolType(int type) {
- this.poolType = type;
+ @Override
+ public String getConnectorBindingIdentifier() {
+ return connectorBindingIdentifier;
}
-
- public String getConnectorBindingName() {
- return connectorBindingName;
- }
- public void setConnectorBindingName(String bindingName) {
- this.connectorBindingName = bindingName;
+ public void setConnectorBindingIdentifier(String connectorBindingIdentifier) {
+ this.connectorBindingIdentifier = connectorBindingIdentifier;
}
-
- public String getConnectorBindingIdentifier() {
- return connectorBindingIdentifier;
- }
-
- public void setConnectorBindingIdentifier(String identifier) {
- this.connectorBindingIdentifier = identifier;
- }
-
-
public int getConnectionsInuse() {
return this.connectionInUse;
}
@@ -134,7 +101,7 @@
public String toString() {
StringBuffer str = new StringBuffer();
- str.append(this.getIdentifier() + " ConnectionPoolStats:\n");
//$NON-NLS-1$
+ str.append(this.connectorBindingIdentifier + "
ConnectionPoolStats:\n"); //$NON-NLS-1$
str.append("\tisXAPoolType = " + isXAPoolType()); //$NON-NLS-1$
str.append("\ttotalConnections = " + this.totalConnections);
//$NON-NLS-1$
str.append("\tinUseConnections = " + this.connectionInUse);
//$NON-NLS-1$
Modified: trunk/client/src/main/java/org/teiid/adminapi/ConnectionPool.java
===================================================================
--- trunk/client/src/main/java/org/teiid/adminapi/ConnectionPool.java 2009-08-17 21:28:20
UTC (rev 1253)
+++ trunk/client/src/main/java/org/teiid/adminapi/ConnectionPool.java 2009-08-17 21:38:58
UTC (rev 1254)
@@ -22,48 +22,52 @@
package org.teiid.adminapi;
+import java.io.Serializable;
+
/**
- * This object holds the statisics for a ConnectionPool that is being utilized by a
Connector.
+ * This object holds the statistics for a ConnectionPool that is being utilized by a
Connector.
* As per how many available connections
* processed etc.
- * <p>An identifier for QueueWorkerPool, is nothing but the modules it self, like
"DQP",
+ * <p>An identifier for ConnectionPool, is nothing but the modules it self, like
"DQP",
* "QueryService" or Connector Binding names etc.</p>
*
* @since 4.3
*/
-public interface ConnectionPool extends AdminObject {
+public interface ConnectionPool extends Serializable {
/**
* @return Returns total number of current connections in the Connection Pool
- * @since 6.1
*/
- public int getTotalConnections();
+ int getTotalConnections();
/**
* @return Returns the number of connections waiting for use in the connection pool.
- * @since 6.1
*/
- public int getConnectionsWaiting();
+ int getConnectionsWaiting();
/**
* @return Returns the number of Connections currently in use by clients.
- *
- * @since 6.1
*/
- public int getConnectionsInuse();
+ int getConnectionsInuse();
/**
* @return Returns the number of Connections created since the Connection Pool was
created.
- * @since 6.1
*/
long getConnectionsCreated();
-
/**
* @return The number of Connections destroyed since the Connection Pool was created.
*/
long getConnectionsDestroyed();
-
+ /**
+ * @return true if this represents an XA connection pool
+ */
+ boolean isXAPoolType();
+ /**
+ * @return the identifier of the connector binding this pool is used with
+ */
+ String getConnectorBindingIdentifier();
+
}
Modified: trunk/client/src/main/java/org/teiid/adminapi/MonitoringAdmin.java
===================================================================
--- trunk/client/src/main/java/org/teiid/adminapi/MonitoringAdmin.java 2009-08-17 21:28:20
UTC (rev 1253)
+++ trunk/client/src/main/java/org/teiid/adminapi/MonitoringAdmin.java 2009-08-17 21:38:58
UTC (rev 1254)
@@ -160,7 +160,7 @@
* @throws AdminException if there's a system error.
* @since 6.1
*/
- Collection getConnectionPoolStats(String identifier) throws AdminException;
+ Collection<? extends ConnectionPool> getConnectionPoolStats(String identifier)
throws AdminException;
/**
Modified:
trunk/common-internal/src/main/java/com/metamatrix/common/config/model/BasicExtensionModule.java
===================================================================
---
trunk/common-internal/src/main/java/com/metamatrix/common/config/model/BasicExtensionModule.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/common-internal/src/main/java/com/metamatrix/common/config/model/BasicExtensionModule.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -48,16 +48,8 @@
}
public BasicExtensionModule(String name, String description, byte[] contents) {
- super(new ConfigurationID(name), new ExtensionID(name), new
ComponentTypeID(name));
- this.type = sniffType(name);
- this.contents = contents;
- setDescription(description);
-
- if (contents == null ) {
- throw new IllegalArgumentException();
- }
+ this(name, sniffType(name), description, contents);
}
-
protected BasicExtensionModule(BasicExtensionModule component) {
super(component);
Modified: trunk/engine/src/main/java/com/metamatrix/dqp/service/DataService.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/dqp/service/DataService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++ trunk/engine/src/main/java/com/metamatrix/dqp/service/DataService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -26,6 +26,7 @@
import java.util.List;
import java.util.Properties;
+import org.teiid.adminapi.ConnectionPool;
import org.teiid.connector.metadata.runtime.ConnectorMetadata;
import org.teiid.dqp.internal.process.DQPWorkContext;
@@ -161,10 +162,10 @@
/**
* Get connection pool statistics for connector binding
* @param connectorBindingName - Name of the connector binding
- * @return a list of {@link com.metamatrix.common.stats.ConnectionPoolStats}
+ * @return a list of {@link com.metamatrix.admin.objects.ConnectionPoolStatsImpl}
* @throws MetaMatrixComponentException
* @since 6.1
*/
- Collection getConnectionPoolStatistics(String connectorBindingName)
+ Collection<? extends ConnectionPool> getConnectionPoolStatistics(String
connectorBindingName)
throws MetaMatrixComponentException;
}
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -60,6 +60,7 @@
import org.teiid.dqp.internal.process.DQPWorkContext;
import org.teiid.dqp.internal.transaction.TransactionProvider;
+import com.metamatrix.admin.objects.MMConnectionPool;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.ApplicationService;
@@ -70,7 +71,6 @@
import com.metamatrix.common.queue.WorkerPool;
import com.metamatrix.common.queue.WorkerPoolFactory;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.common.util.PropertiesUtils;
import com.metamatrix.core.MetaMatrixCoreException;
import com.metamatrix.core.log.MessageLevel;
@@ -741,7 +741,7 @@
}
}
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
+ public Collection<MMConnectionPool> getConnectionPoolStats() {
if (connector instanceof PooledConnector) {
PooledConnector pc = (PooledConnector) connector;
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/ConnectionPool.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/ConnectionPool.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/ConnectionPool.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -128,19 +128,10 @@
*/
private volatile int totalConnectionCount;
/**
- * Total number of connections that have been created since the inception of this
pool
- */
- private volatile int totalCreatedConnections;
- /**
* Total number of connections that have been destroyed since the inception of this
pool
*/
private volatile int totalDestroyedConnections;
- /**
- * The number of connections currently in use by a client
- */
- private volatile int totalConnectionsInUse;
-
private volatile boolean shuttingDownPool;
/**
@@ -265,7 +256,6 @@
LogManager.logDetail(CTX_CONNECTOR, new Object[]
{"Existing connection leased for", id}); //$NON-NLS-1$
connLists.used.addLast(conn);
success = true;
- this.totalConnectionsInUse++;
return conn;
} catch (ConnectorException e) {
LogManager.logDetail(CTX_CONNECTOR, new Object[] {"Existing connection
failed to have identity updated", id}); //$NON-NLS-1$
@@ -287,7 +277,6 @@
}
updateStateWithNewConnection(id, connection, idSize);
- this.totalConnectionsInUse++;
success = true;
return connection;
} catch (InterruptedException err) {
@@ -307,14 +296,14 @@
private void updateStateWithNewConnection(ConnectorIdentity id,
ConnectionWrapper connection,
int idSize) {
- Collection ids = null;
+ Collection<ConnectionsForId> ids = null;
synchronized (this.lock) {
this.reverseIdConnections.put(connection, id);
this.totalConnectionCount++;
if (this.totalConnectionCount > this.maxConnections) {
- ids = new ArrayList(this.idConnections.values());
+ ids = new
ArrayList<ConnectionsForId>(this.idConnections.values());
}
// Log warnings if we hit the max connection count or the max count per pool
- if both
@@ -330,8 +319,8 @@
//release any unused connection
//TODO: this search is biased and slow
if (ids != null) {
- for (Iterator i = ids.iterator(); i.hasNext() &&
this.totalConnectionCount > this.maxConnections;) {
- ConnectionsForId connsForId = (ConnectionsForId)i.next();
+ for (Iterator<ConnectionsForId> i = ids.iterator(); i.hasNext()
&& this.totalConnectionCount > this.maxConnections;) {
+ ConnectionsForId connsForId = i.next();
synchronized (connsForId) {
if (connsForId.unused.isEmpty()) {
continue;
@@ -354,7 +343,6 @@
connection = this.connectionFactory.getActualConnector().getConnection(id);
}
sourceConnection = new ConnectionWrapper(connection, this,
testConnectInterval);
- this.totalCreatedConnections++;
LogManager.logTrace(CTX_CONNECTOR, new Object[] {"Connection pool created a
connection for", id}); //$NON-NLS-1$
} catch (ConnectorException e) {
@@ -376,7 +364,6 @@
}
synchronized (connLists) {
- totalConnectionsInUse--;
//release it only if there is one.
//If the same connection is to be released twice, just ignore
if ( connLists.used.remove(connection)) {
@@ -416,23 +403,22 @@
}
protected void cleanUp(boolean forceClose) {
- Map values = null;
+ Map<ConnectorIdentity, ConnectionsForId> values = null;
synchronized (this.lock) {
- values = new HashMap(this.idConnections);
+ values = new HashMap<ConnectorIdentity,
ConnectionsForId>(this.idConnections);
}
- for (Iterator i = values.entrySet().iterator(); i.hasNext();) {
- Map.Entry entry = (Map.Entry)i.next();
- ConnectionsForId connLists = (ConnectionsForId)entry.getValue();
+ for (Map.Entry<ConnectorIdentity, ConnectionsForId> entry :
values.entrySet()) {
+ ConnectionsForId connLists = entry.getValue();
synchronized (connLists) {
- for ( Iterator unusedIter = connLists.unused.iterator();
unusedIter.hasNext(); ) {
- ConnectionWrapper unusedConnection = (ConnectionWrapper)
unusedIter.next();
+ for ( Iterator<ConnectionWrapper> unusedIter =
connLists.unused.iterator(); unusedIter.hasNext(); ) {
+ ConnectionWrapper unusedConnection = unusedIter.next();
if (forceClose || (enableShrinking &&
System.currentTimeMillis() - unusedConnection.getTimeReturnedToPool() >=
this.liveAndUnusedTime)
|| !unusedConnection.isAlive() ) {
unusedIter.remove();
- closeSourceConnection(unusedConnection,
(ConnectorIdentity)entry.getKey());
+ closeSourceConnection(unusedConnection, entry.getKey());
}
}
}
@@ -502,7 +488,7 @@
}
int getTotalCreatedConnectionCount() {
- return this.totalCreatedConnections;
+ return this.totalDestroyedConnections + this.totalConnectionCount;
}
int getTotalDestroyedConnectionCount() {
@@ -510,11 +496,11 @@
}
int getNumberOfConnectionsInUse() {
- return this.totalConnectionsInUse;
+ return maxConnections - this.poolSemaphore.availablePermits();
}
int getNumberOfConnectinsWaiting() {
- return this.totalConnectionCount - this.totalConnectionsInUse;
+ return this.totalConnectionCount - getNumberOfConnectionsInUse();
}
}
\ No newline at end of file
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/pooling/connector/PooledConnector.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -23,9 +23,9 @@
package org.teiid.dqp.internal.pooling.connector;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.transaction.RollbackException;
@@ -42,7 +42,7 @@
import org.teiid.connector.xa.api.XAConnector;
import org.teiid.dqp.internal.datamgr.impl.ConnectorWrapper;
-import com.metamatrix.common.stats.ConnectionPoolStats;
+import com.metamatrix.admin.objects.MMConnectionPool;
import com.metamatrix.dqp.service.ConnectorStatus;
@@ -91,22 +91,15 @@
private ConnectionPool pool;
private ConnectionPool xaPool;
- private ConnectionPoolStats poolStats=null;
- private ConnectionPoolStats xaPoolStats=null;
-
private Map<String, ConnectionWrapper> idToConnections =
Collections.synchronizedMap(new HashMap<String, ConnectionWrapper>());
private ConnectorEnvironment environment;
public PooledConnector(Connector actualConnector) {
super(actualConnector);
pool = new ConnectionPool(this);
- poolStats = new ConnectionPoolStats(ConnectionPoolStats.NON_XA_POOL_TYPE);
- poolStats.setConnectorBindingName(this.getConnectorBindingName());
if (actualConnector instanceof XAConnector) {
xaPool = new ConnectionPool(this);
- xaPoolStats = new ConnectionPoolStats(ConnectionPoolStats.XA_POOL_TYPE);
- xaPoolStats.setConnectorBindingName(this.getConnectorBindingName());
}
}
@@ -178,15 +171,16 @@
return conn;
}
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
- Collection<ConnectionPoolStats> pools = new
ArrayList<ConnectionPoolStats>(2);
+ public List<MMConnectionPool> getConnectionPoolStats() {
+ List<MMConnectionPool> pools = new ArrayList<MMConnectionPool>(2);
- setStats(pool, poolStats);
- pools.add(poolStats);
+ MMConnectionPool stats = getStats(pool);
+ pools.add(stats);
if (xaPool != null) {
- setStats(xaPool, xaPoolStats);
- pools.add(xaPoolStats);
+ stats = getStats(xaPool);
+ stats.setXa(true);
+ pools.add(stats);
}
return pools;
@@ -206,13 +200,14 @@
return super.testConnection();
}
- private void setStats(ConnectionPool connpool, ConnectionPoolStats stats) {
-
+ private MMConnectionPool getStats(ConnectionPool connpool) {
+ MMConnectionPool stats = new MMConnectionPool();
stats.setConnectionsWaiting(connpool.getNumberOfConnectinsWaiting());
stats.setConnectionsCreated(connpool.getTotalCreatedConnectionCount());
stats.setConnectionsDestroyed(connpool.getTotalDestroyedConnectionCount());
stats.setConnectionsInUse(connpool.getNumberOfConnectionsInUse());
stats.setTotalConnections(connpool.getTotalConnectionCount());
+ return stats;
}
}
Modified:
trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java
===================================================================
---
trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/engine/src/test/java/org/teiid/dqp/internal/pooling/connector/TestPooledConnector.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -22,13 +22,13 @@
package org.teiid.dqp.internal.pooling.connector;
-import java.util.Collection;
+import static org.junit.Assert.*;
+
+import java.util.List;
import java.util.Properties;
import javax.transaction.Transaction;
-import static org.junit.Assert.*;
-
import org.junit.Test;
import org.mockito.Mockito;
import org.teiid.connector.api.ConnectorLogger;
@@ -38,6 +38,7 @@
import org.teiid.connector.xa.api.XAConnector;
import org.teiid.dqp.internal.datamgr.impl.ConnectorEnvironmentImpl;
+import com.metamatrix.admin.objects.MMConnectionPool;
import com.metamatrix.common.application.ApplicationEnvironment;
public class TestPooledConnector {
@@ -54,8 +55,14 @@
XAConnection conn1 = pc.getXAConnection(Mockito.mock(ExecutionContext.class), tc);
assertSame(conn, conn1);
- Collection stats = pc.getConnectionPoolStats();
+ List<MMConnectionPool> stats = pc.getConnectionPoolStats();
assertEquals(2, stats.size());
+ assertEquals(1, stats.get(1).getConnectionsCreated());
+ conn1.close(); //this is still in a txn so it should still be in use
+
+ stats = pc.getConnectionPoolStats();
+ assertEquals(1, stats.get(1).getConnectionsInuse());
+
pc.stop();
}
Modified:
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPMonitoringAdminImpl.java
===================================================================
---
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPMonitoringAdminImpl.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPMonitoringAdminImpl.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -35,6 +35,7 @@
import org.teiid.adminapi.AdminException;
import org.teiid.adminapi.AdminObject;
import org.teiid.adminapi.AdminProcessingException;
+import org.teiid.adminapi.ConnectionPool;
import org.teiid.adminapi.ConnectorBinding;
import org.teiid.adminapi.MonitoringAdmin;
import org.teiid.adminapi.ProcessObject;
@@ -359,7 +360,7 @@
}
@Override
- public Collection getConnectionPoolStats(String identifier)
+ public Collection<? extends ConnectionPool> getConnectionPoolStats(String
identifier)
throws AdminException {
try {
Modified:
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java
===================================================================
---
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/services/EmbeddedDataService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -31,12 +31,14 @@
import java.util.Properties;
import java.util.concurrent.atomic.AtomicInteger;
+import org.teiid.adminapi.ConnectionPool;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ConnectorPropertyNames;
import org.teiid.connector.metadata.runtime.ConnectorMetadata;
import org.teiid.dqp.internal.datamgr.impl.ConnectorManager;
import org.teiid.dqp.internal.process.DQPWorkContext;
+import com.metamatrix.admin.objects.MMConnectionPool;
import com.metamatrix.api.exception.ComponentNotFoundException;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationEnvironment;
@@ -227,12 +229,16 @@
* @see
com.metamatrix.dqp.service.DataService#getConnectionPoolStatistics(java.lang.String)
* @since 6.1
*/
- public Collection getConnectionPoolStatistics(String connectorBindingName) throws
MetaMatrixComponentException {
+ public Collection<? extends ConnectionPool> getConnectionPoolStatistics(String
connectorBindingName) throws MetaMatrixComponentException {
ConnectorBinding binding = getConnectorBinding(connectorBindingName);
if (binding != null) {
ConnectorManager mgr = getConnectorManager(binding);
if (mgr != null ) {
- return mgr.getConnectionPoolStats();
+ Collection<MMConnectionPool> result = mgr.getConnectionPoolStats();
+ for (MMConnectionPool mmConnectionPool : result) {
+ mmConnectionPool.setConnectorBindingIdentifier(binding.getDeployedName());
+ }
+ return result;
}
}
throw new
ComponentNotFoundException(DQPEmbeddedPlugin.Util.getString("DataService.Unable_to_find_connector_manager_for_{0}_1",
new Object[] { connectorBindingName })); //$NON-NLS-1$
Modified: trunk/server/src/main/java/com/metamatrix/admin/server/AbstractAdminImpl.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/admin/server/AbstractAdminImpl.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/admin/server/AbstractAdminImpl.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -542,7 +542,9 @@
case MMAdminObject.OBJECT_TYPE_VDB:
return parent.getVDBs(identifier);
case MMAdminObject.OBJECT_TYPE_TRANSACTION:
- return parent.getTransactions();
+ return parent.getTransactions();
+ case MMAdminObject.OBJECT_TYPE_CONNECTION_POOL:
+ return parent.getConnectionPoolStats(identifier);
case MMAdminObject.OBJECT_TYPE_ENTITLEMENT:
case MMAdminObject.OBJECT_TYPE_MODEL:
case MMAdminObject.OBJECT_TYPE_PROPERTY_DEFINITION:
Modified:
trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/admin/server/ServerConfigAdminImpl.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -51,7 +51,6 @@
import org.teiid.adminapi.ScriptsContainer;
import org.teiid.adminapi.SystemObject;
import org.teiid.adminapi.VDB;
-import org.teiid.transport.SSLConfiguration;
import com.metamatrix.admin.AdminPlugin;
import com.metamatrix.admin.api.exception.security.InvalidSessionException;
@@ -59,13 +58,10 @@
import com.metamatrix.admin.objects.MMAdminObject;
import com.metamatrix.admin.objects.MMAdminStatus;
import com.metamatrix.admin.objects.MMConnectorBinding;
-import com.metamatrix.admin.objects.MMLogConfiguration;
import com.metamatrix.admin.objects.MMScriptsContainer;
-import com.metamatrix.admin.objects.MMService;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.security.AuthorizationException;
-import com.metamatrix.common.actions.ModificationActionQueue;
import com.metamatrix.common.actions.ModificationException;
import com.metamatrix.common.config.CurrentConfiguration;
import com.metamatrix.common.config.api.AuthenticationProvider;
@@ -94,7 +90,6 @@
import com.metamatrix.common.config.model.BasicConnectorArchive;
import com.metamatrix.common.config.model.BasicExtensionModule;
import com.metamatrix.common.config.model.ConfigurationModelContainerAdapter;
-import com.metamatrix.common.config.model.ConfigurationModelContainerImpl;
import com.metamatrix.common.config.util.ConfigObjectsNotResolvableException;
import com.metamatrix.common.config.util.ConfigurationPropertyNames;
import com.metamatrix.common.config.util.InvalidConfigurationElementException;
@@ -103,8 +98,6 @@
import
com.metamatrix.common.extensionmodule.exception.DuplicateExtensionModuleException;
import com.metamatrix.common.extensionmodule.exception.ExtensionModuleNotFoundException;
import
com.metamatrix.common.extensionmodule.exception.InvalidExtensionModuleTypeException;
-import com.metamatrix.common.log.LogManager;
-import com.metamatrix.common.util.LogContextsUtil;
import com.metamatrix.common.util.PropertiesUtils;
import com.metamatrix.common.util.crypto.CryptoException;
import com.metamatrix.common.util.crypto.CryptoUtil;
@@ -121,7 +114,6 @@
import com.metamatrix.metadata.runtime.api.VirtualDatabaseID;
import com.metamatrix.metadata.runtime.vdb.defn.VDBCreation;
import com.metamatrix.metadata.runtime.vdb.defn.VDBDefnFactory;
-import com.metamatrix.platform.config.spi.xml.XMLConfigurationMgr;
import com.metamatrix.platform.registry.ClusteredRegistryState;
import com.metamatrix.platform.service.api.exception.ServiceException;
import com.metamatrix.server.admin.apiimpl.MaterializationLoadScriptsImpl;
Modified:
trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/admin/server/ServerMonitoringAdminImpl.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -22,7 +22,7 @@
package com.metamatrix.admin.server;
-import static org.teiid.dqp.internal.process.Util.convertStats;
+import static org.teiid.dqp.internal.process.Util.*;
import java.io.File;
import java.io.IOException;
@@ -46,7 +46,6 @@
import org.teiid.adminapi.AdminObject;
import org.teiid.adminapi.AdminProcessingException;
import org.teiid.adminapi.Model;
-import org.teiid.adminapi.Resource;
import org.teiid.adminapi.Service;
import org.teiid.adminapi.Session;
import org.teiid.adminapi.SystemObject;
@@ -84,7 +83,6 @@
import com.metamatrix.common.extensionmodule.ExtensionModuleDescriptor;
import com.metamatrix.common.extensionmodule.exception.ExtensionModuleNotFoundException;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.core.util.DateUtil;
import com.metamatrix.core.util.FileUtil;
import com.metamatrix.core.util.FileUtils;
@@ -910,31 +908,14 @@
String[] identifierParts = new String[] {binding.getHostName(),
component.getVMComponentDefnID().getName(),
component.getServiceComponentDefnID().getFullName()};
- if (identifierMatches(identifier, identifierParts)) {
-
- Collection statsCollection =
getRuntimeStateAdminAPIHelper().getConnectionPoolStats(binding);
- if (statsCollection != null) {
- for (Iterator iter2 = statsCollection.iterator(); iter2.hasNext();) {
- ConnectionPoolStats stats = (ConnectionPoolStats) iter2.next();
-
- MMConnectionPool mmstats = new MMConnectionPool();
-
-
mmstats.setConnectorBindingName(component.getServiceComponentDefnID().getFullName());
- mmstats.setConnectorBindingIdentifier(component.getFullName());
-
- mmstats.setConnectionsInUse(stats.getConnectionsInuse());
- mmstats.setConnectionsCreated(stats.getConnectionsCreated());
- mmstats.setConnectionsDestroyed(stats.getConnectionsDestroyed());
- mmstats.setConnectionsWaiting(stats.getConnectionsWaiting());
- mmstats.setTotalConnections(stats.getTotalConnections());
-
- results.add(mmstats);
- }
- }
-
- }
-
-
+ if (identifierMatches(identifier, identifierParts)) {
+
+ Collection<MMConnectionPool> statsCollection =
getRuntimeStateAdminAPIHelper().getConnectionPoolStats(binding);
+ for (MMConnectionPool mmConnectionPool : statsCollection) {
+ mmConnectionPool.setConnectorBindingIdentifier(component.getFullName());
+ results.add(mmConnectionPool);
+ }
+ }
}
}
} catch (MetaMatrixComponentException e) {
Modified:
trunk/server/src/main/java/com/metamatrix/platform/admin/apiimpl/RuntimeStateAdminAPIHelper.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/platform/admin/apiimpl/RuntimeStateAdminAPIHelper.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/platform/admin/apiimpl/RuntimeStateAdminAPIHelper.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -34,7 +34,6 @@
import org.teiid.adminapi.AdminException;
-import com.metamatrix.admin.api.exception.security.InvalidSessionException;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MultipleException;
import com.metamatrix.api.exception.security.AuthorizationException;
@@ -71,6 +70,7 @@
import com.metamatrix.platform.vm.api.controller.ProcessManagement;
import com.metamatrix.platform.vm.controller.ProcessStatistics;
import com.metamatrix.server.HostManagement;
+import com.metamatrix.server.connector.service.ConnectorServiceInterface;
/**
@@ -215,8 +215,8 @@
*/
public Collection getConnectionPoolStats(ServiceRegistryBinding binding) throws
MetaMatrixComponentException {
ServiceInterface service = binding.getService();
- if (service != null) {
- return service.getConnectionPoolStats();
+ if (service instanceof ConnectorServiceInterface) {
+ return ((ConnectorServiceInterface)service).getConnectionPoolStats();
}
return Collections.EMPTY_LIST;
}
Modified:
trunk/server/src/main/java/com/metamatrix/platform/service/api/ServiceInterface.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/platform/service/api/ServiceInterface.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/platform/service/api/ServiceInterface.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -30,7 +30,6 @@
import com.metamatrix.common.comm.ClientServiceRegistry;
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.platform.service.controller.ServiceData;
public interface ServiceInterface {
@@ -122,16 +121,7 @@
*/
WorkerPoolStats getQueueStatistics(String name);
-
/**
- * Returns a list of ConnectionPoolStat objects for the specific
- * ConnectorBinding service
- * If there are no ConnectionPoolStats, null is returned.
- */
- Collection<ConnectionPoolStats> getConnectionPoolStats();
-
-
- /**
* There are reflective based calls on this
*/
void setInitException(Throwable t);
Modified:
trunk/server/src/main/java/com/metamatrix/platform/service/controller/AbstractService.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/platform/service/controller/AbstractService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/platform/service/controller/AbstractService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -38,7 +38,6 @@
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.common.util.LogCommonConstants;
import com.metamatrix.common.util.PasswordMaskUtil;
import com.metamatrix.core.event.EventObjectListener;
@@ -561,10 +560,4 @@
return data;
}
-
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
- return Collections.EMPTY_LIST;
- }
-
-
}
Modified:
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorService.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -44,6 +44,7 @@
import org.teiid.dqp.internal.process.DQPCore;
import org.teiid.dqp.internal.process.DQPWorkContext;
+import com.metamatrix.admin.objects.MMConnectionPool;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.application.ApplicationEnvironment;
import com.metamatrix.common.application.ApplicationService;
@@ -64,7 +65,6 @@
import com.metamatrix.common.log.LogManager;
import com.metamatrix.common.object.PropertyDefinition;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.common.util.LogCommonConstants;
import com.metamatrix.common.util.PropertiesUtils;
import com.metamatrix.common.util.crypto.CryptoException;
@@ -422,9 +422,7 @@
LogManager.logInfo(LogCommonConstants.CTX_CONFIG,
ServerPlugin.Util.getString(messageProperty, value));
}
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
-// return Collections.EMPTY_LIST;
-
+ public Collection<MMConnectionPool> getConnectionPoolStats() {
return this.connectorMgr.getConnectionPoolStats();
}
Modified:
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorServiceInterface.java
===================================================================
---
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorServiceInterface.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/main/java/com/metamatrix/server/connector/service/ConnectorServiceInterface.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -27,10 +27,12 @@
package com.metamatrix.server.connector.service;
import java.io.Serializable;
+import java.util.Collection;
import org.teiid.connector.api.ConnectorException;
import org.teiid.dqp.internal.process.DQPWorkContext;
+import com.metamatrix.admin.objects.MMConnectionPool;
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.common.comm.api.ResultsReceiver;
import com.metamatrix.dqp.internal.datamgr.ConnectorID;
@@ -69,5 +71,7 @@
void closeRequest(AtomicRequestID request) throws MetaMatrixComponentException;
void requestBatch(AtomicRequestID request) throws MetaMatrixComponentException;
+
+ Collection<MMConnectionPool> getConnectionPoolStats();
}
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/FakeCacheAdmin.java
===================================================================
--- trunk/server/src/test/java/com/metamatrix/admin/server/FakeCacheAdmin.java 2009-08-17
21:28:20 UTC (rev 1253)
+++ trunk/server/src/test/java/com/metamatrix/admin/server/FakeCacheAdmin.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -39,7 +39,6 @@
import com.metamatrix.common.comm.ClientServiceRegistry;
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.platform.service.api.CacheAdmin;
import com.metamatrix.platform.service.api.ServiceID;
import com.metamatrix.platform.service.api.ServiceInterface;
@@ -163,11 +162,4 @@
return null;
}
- @Override
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
- return null;
- }
-
-
-
}
Modified:
trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java
===================================================================
---
trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/test/java/com/metamatrix/admin/server/FakeConfigurationService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -22,22 +22,16 @@
package com.metamatrix.admin.server;
-import java.io.File;
-import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import org.teiid.adminapi.Resource;
-
import com.metamatrix.common.actions.ActionDefinition;
-import com.metamatrix.common.actions.CreateObject;
import com.metamatrix.common.actions.ModificationException;
import com.metamatrix.common.application.ClassLoaderManager;
import com.metamatrix.common.comm.ClientServiceRegistry;
@@ -56,25 +50,15 @@
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.config.api.Host;
import com.metamatrix.common.config.api.HostID;
-import com.metamatrix.common.config.api.HostType;
import com.metamatrix.common.config.api.ServiceComponentDefnID;
-import com.metamatrix.common.config.api.SharedResource;
-import com.metamatrix.common.config.api.SharedResourceID;
import com.metamatrix.common.config.api.VMComponentDefn;
import com.metamatrix.common.config.api.VMComponentDefnID;
import com.metamatrix.common.config.api.exceptions.ConfigurationException;
import com.metamatrix.common.config.api.exceptions.InvalidConfigurationException;
-import com.metamatrix.common.config.model.BasicComponentObject;
import com.metamatrix.common.config.model.BasicConfigurationObjectEditor;
-import com.metamatrix.common.config.model.BasicConnectorBindingType;
-import com.metamatrix.common.config.model.BasicHost;
-import com.metamatrix.common.config.model.BasicSharedResource;
-import com.metamatrix.common.config.model.ConfigurationModelContainerImpl;
import com.metamatrix.common.config.xml.XMLConfigurationImportExportUtility;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.common.util.PropertiesUtils;
-import com.metamatrix.core.util.UnitTestUtil;
import com.metamatrix.platform.PlatformPlugin;
import com.metamatrix.platform.config.ConfigUpdateMgr;
import com.metamatrix.platform.config.api.service.ConfigurationServiceInterface;
@@ -868,18 +852,4 @@
return null;
}
-
-
-
-
-
-
-
- @Override
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
- return null;
- }
-
-
-
}
Modified: trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java
===================================================================
---
trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/test/java/com/metamatrix/admin/server/FakeQueryService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -45,7 +45,6 @@
import com.metamatrix.common.comm.ClientServiceRegistry;
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.dqp.message.AtomicRequestID;
import com.metamatrix.dqp.message.RequestID;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
@@ -298,11 +297,4 @@
return null;
}
- @Override
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
- return null;
- }
-
-
-
}
Modified:
trunk/server/src/test/java/com/metamatrix/admin/server/FakeServerSessionService.java
===================================================================
---
trunk/server/src/test/java/com/metamatrix/admin/server/FakeServerSessionService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/test/java/com/metamatrix/admin/server/FakeServerSessionService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -39,7 +39,6 @@
import com.metamatrix.common.comm.ClientServiceRegistry;
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.platform.security.api.Credentials;
import com.metamatrix.platform.security.api.MetaMatrixPrincipal;
import com.metamatrix.platform.security.api.MetaMatrixSessionID;
@@ -273,11 +272,4 @@
return null;
}
- @Override
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
- return null;
- }
-
-
-
}
Modified:
trunk/server/src/test/java/com/metamatrix/platform/service/controller/FakeService.java
===================================================================
---
trunk/server/src/test/java/com/metamatrix/platform/service/controller/FakeService.java 2009-08-17
21:28:20 UTC (rev 1253)
+++
trunk/server/src/test/java/com/metamatrix/platform/service/controller/FakeService.java 2009-08-17
21:38:58 UTC (rev 1254)
@@ -32,7 +32,6 @@
import com.metamatrix.common.comm.ClientServiceRegistry;
import com.metamatrix.common.config.api.DeployedComponentID;
import com.metamatrix.common.queue.WorkerPoolStats;
-import com.metamatrix.common.stats.ConnectionPoolStats;
import com.metamatrix.platform.service.api.ServiceID;
public class FakeService implements FakeServiceInterface {
@@ -117,11 +116,5 @@
public ServiceData getServiceData() {
return null;
}
- @Override
- public Collection<ConnectionPoolStats> getConnectionPoolStats() {
- // TODO Auto-generated method stub
- return null;
- }
-
}