Author: hiranya
Date: Fri May 6 09:44:59 2011
New Revision: 1100151
URL: http://svn.apache.org/viewvc?rev=1100151&view=rev
Log:
Improving endpoint JMX stats
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java?rev=1100151&r1=1100150&r2=1100151&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointView.java
Fri May 6 09:44:59 2011
@@ -26,6 +26,7 @@ import org.apache.commons.logging.LogFac
import java.util.*;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -78,7 +79,8 @@ public class EndpointView implements End
private long lastResetTime = System.currentTimeMillis();
- private ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
+ private ScheduledExecutorService scheduler;
+
private Queue<Integer> suspensionCounts = new LinkedList<Integer>();
private Queue<Integer> timeoutCounts = new LinkedList<Integer>();
@@ -87,9 +89,16 @@ public class EndpointView implements End
* @param endpointName the name of the endpoint
* @param endpoint the actual endpoint
*/
- public EndpointView(String endpointName, Endpoint endpoint) {
+ public EndpointView(final String endpointName, Endpoint endpoint) {
this.endpointName = endpointName;
this.endpoint = endpoint;
+
+ scheduler = Executors.newSingleThreadScheduledExecutor(new
ThreadFactory() {
+ public Thread newThread(Runnable r) {
+ return new Thread(r, endpointName +
"-endpoint-stat-collector");
+ }
+ });
+
scheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
if (suspensionCounts.size() == 15) {