You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2016/09/23 16:08:56 UTC

[1/2] activemq-artemis git commit: NO-JIRA: using scheduled component on message counters

Repository: activemq-artemis
Updated Branches:
  refs/heads/master d64903fcc -> 42c708094


NO-JIRA: using scheduled component on message counters


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/b98c24e7
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/b98c24e7
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/b98c24e7

Branch: refs/heads/master
Commit: b98c24e749f61e3d6ca1ca10e69e44c3469a54d4
Parents: d64903f
Author: Clebert Suconic <cl...@apache.org>
Authored: Thu Sep 15 13:49:55 2016 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Fri Sep 23 09:09:37 2016 -0400

----------------------------------------------------------------------
 .../impl/MessageCounterManagerImpl.java         | 73 +++++---------------
 .../management/impl/ManagementServiceImpl.java  |  2 +-
 2 files changed, 18 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b98c24e7/artemis-server/src/main/java/org/apache/activemq/artemis/core/messagecounter/impl/MessageCounterManagerImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/messagecounter/impl/MessageCounterManagerImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/messagecounter/impl/MessageCounterManagerImpl.java
index 0f60cf6..a5c1be4 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/messagecounter/impl/MessageCounterManagerImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/messagecounter/impl/MessageCounterManagerImpl.java
@@ -20,13 +20,14 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.Future;
+import java.util.concurrent.Executor;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration;
 import org.apache.activemq.artemis.core.messagecounter.MessageCounter;
 import org.apache.activemq.artemis.core.messagecounter.MessageCounterManager;
+import org.apache.activemq.artemis.core.server.ActiveMQScheduledComponent;
 
 /**
  * A MessageCounterManager
@@ -41,45 +42,25 @@ public class MessageCounterManagerImpl implements MessageCounterManager {
 
    private final Map<String, MessageCounter> messageCounters;
 
-   private boolean started;
-
-   private long period = MessageCounterManagerImpl.DEFAULT_SAMPLE_PERIOD;
-
-   private MessageCountersPinger messageCountersPinger;
+   private final MessageCountersPinger messageCountersPinger;
 
    private int maxDayCount = MessageCounterManagerImpl.DEFAULT_MAX_DAY_COUNT;
 
-   private final ScheduledExecutorService scheduledThreadPool;
-
-   public MessageCounterManagerImpl(final ScheduledExecutorService scheduledThreadPool) {
+   public MessageCounterManagerImpl(final ScheduledExecutorService scheduledThreadPool, Executor executor) {
       messageCounters = new HashMap<>();
-
-      this.scheduledThreadPool = scheduledThreadPool;
+      messageCountersPinger = new MessageCountersPinger(scheduledThreadPool, executor,  MessageCounterManagerImpl.DEFAULT_SAMPLE_PERIOD, TimeUnit.MILLISECONDS, false);
    }
 
    @Override
    public synchronized void start() {
-      if (started) {
-         return;
-      }
-
-      messageCountersPinger = new MessageCountersPinger();
 
-      Future<?> future = scheduledThreadPool.scheduleAtFixedRate(messageCountersPinger, 0, period, TimeUnit.MILLISECONDS);
-      messageCountersPinger.setFuture(future);
+      messageCountersPinger.start();
 
-      started = true;
    }
 
    @Override
    public synchronized void stop() {
-      if (!started) {
-         return;
-      }
-
       messageCountersPinger.stop();
-
-      started = false;
    }
 
    @Override
@@ -89,22 +70,12 @@ public class MessageCounterManagerImpl implements MessageCounterManager {
 
    @Override
    public synchronized void reschedule(final long newPeriod) {
-      boolean wasStarted = started;
-
-      if (wasStarted) {
-         stop();
-      }
-
-      period = newPeriod;
-
-      if (wasStarted) {
-         start();
-      }
+      messageCountersPinger.setPeriod(newPeriod);
    }
 
    @Override
    public long getSamplePeriod() {
-      return period;
+      return messageCountersPinger.getPeriod();
    }
 
    @Override
@@ -155,17 +126,18 @@ public class MessageCounterManagerImpl implements MessageCounterManager {
       }
    }
 
-   private class MessageCountersPinger implements Runnable {
+   private class MessageCountersPinger extends ActiveMQScheduledComponent {
 
-      private boolean closed = false;
-
-      private Future<?> future;
+      MessageCountersPinger(ScheduledExecutorService scheduledExecutorService,
+                                   Executor executor,
+                                   long checkPeriod,
+                                   TimeUnit timeUnit,
+                                   boolean onDemand) {
+         super(scheduledExecutorService, executor, checkPeriod, timeUnit, onDemand);
+      }
 
       @Override
-      public synchronized void run() {
-         if (closed) {
-            return;
-         }
+      public void run() {
 
          synchronized (messageCounters) {
             for (MessageCounter counter : messageCounters.values()) {
@@ -174,17 +146,6 @@ public class MessageCounterManagerImpl implements MessageCounterManager {
          }
       }
 
-      public void setFuture(final Future<?> future) {
-         this.future = future;
-      }
-
-      synchronized void stop() {
-         if (future != null) {
-            future.cancel(false);
-         }
-
-         closed = true;
-      }
    }
 
 }

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/b98c24e7/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java
index 22b4e50..26b6450 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/impl/ManagementServiceImpl.java
@@ -190,7 +190,7 @@ public class ManagementServiceImpl implements ManagementService {
       this.messagingServer = messagingServer;
       this.pagingManager = pagingManager;
 
-      messageCounterManager = new MessageCounterManagerImpl(scheduledThreadPool);
+      messageCounterManager = new MessageCounterManagerImpl(scheduledThreadPool, messagingServer.getExecutorFactory().getExecutor());
       messageCounterManager.setMaxDayCount(configuration.getMessageCounterMaxDayHistory());
       messageCounterManager.reschedule(configuration.getMessageCounterSamplePeriod());
 


[2/2] activemq-artemis git commit: This closes #793

Posted by jb...@apache.org.
This closes #793


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/42c70809
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/42c70809
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/42c70809

Branch: refs/heads/master
Commit: 42c7080941eefeddd808ed6c87e7e90277ff61e1
Parents: d64903f b98c24e
Author: jbertram <jb...@apache.com>
Authored: Fri Sep 23 10:42:30 2016 -0500
Committer: jbertram <jb...@apache.com>
Committed: Fri Sep 23 10:42:30 2016 -0500

----------------------------------------------------------------------
 .../impl/MessageCounterManagerImpl.java         | 73 +++++---------------
 .../management/impl/ManagementServiceImpl.java  |  2 +-
 2 files changed, 18 insertions(+), 57 deletions(-)
----------------------------------------------------------------------