Fix for SYNAPSE-1003

git-svn-id: https://svn.apache.org/repos/asf/synapse/trunk@1746863 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java b/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
index 3585f43..be4a325 100755
--- a/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
+++ b/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
@@ -585,9 +585,14 @@
     }
 
     public void destroy() {
+        if (metricsMBean != null) {
+            metricsMBean.destroy();
+        }
+
         if (enableMBeanStats) {
             MBeanRegistrar.getInstance().unRegisterMBean("Endpoint", endpointName);
         }
+        metricsMBean = null;
         this.initialized = false;
     }
 
diff --git a/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java b/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
index 4d17a66..4303699 100755
--- a/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
+++ b/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
@@ -114,6 +114,8 @@
 
     public void destroy() {
         future.cancel(true);
+        suspensionCounts.clear();
+        timeoutCounts.clear();
     }
 
     // --- endpoint control ---