You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2018/03/28 15:54:47 UTC

[09/16] activemq-artemis git commit: ARTEMIS-1447 Reuse thread pools on JDBC Locks

ARTEMIS-1447 Reuse thread pools on JDBC Locks

(cherry picked from commit 1af6d986a570f4c0db87cdd141fad3c66b84ea92)


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

Branch: refs/heads/1.x
Commit: 1a7cd8aabe71d2f5f13bde02cfa3392436d3731e
Parents: 565b817
Author: Clebert Suconic <cl...@apache.org>
Authored: Fri Oct 27 15:14:28 2017 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Wed Mar 28 11:54:15 2018 -0400

----------------------------------------------------------------------
 .../artemis/core/server/ActiveMQScheduledComponent.java       | 7 +++++++
 .../activemq/artemis/core/server/impl/ActiveMQServerImpl.java | 5 ++---
 .../core/server/impl/jdbc/ActiveMQScheduledLeaseLock.java     | 6 +++---
 .../artemis/core/server/impl/jdbc/ScheduledLeaseLock.java     | 4 ++--
 4 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1a7cd8aa/artemis-commons/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQScheduledComponent.java
----------------------------------------------------------------------
diff --git a/artemis-commons/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQScheduledComponent.java b/artemis-commons/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQScheduledComponent.java
index 1553ccb..24dc15c 100644
--- a/artemis-commons/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQScheduledComponent.java
+++ b/artemis-commons/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQScheduledComponent.java
@@ -188,6 +188,13 @@ public abstract class ActiveMQScheduledComponent implements ActiveMQComponent, R
       return this;
    }
 
+   public synchronized ActiveMQScheduledComponent setPeriod(long period, TimeUnit unit) {
+      this.period = period;
+      this.timeUnit = unit;
+      restartIfNeeded();
+      return this;
+   }
+
    public long getInitialDelay() {
       return initialDelay;
    }

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1a7cd8aa/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
index ab47aa7..c1b20e3 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
@@ -494,6 +494,8 @@ public class ActiveMQServerImpl implements ActiveMQServer {
 
       configuration.parseSystemProperties();
 
+      initializeExecutorServices();
+
       startDate = new Date();
 
       state = SERVER_STATE.STARTING;
@@ -1982,9 +1984,6 @@ public class ActiveMQServerImpl implements ActiveMQServer {
       if (state == SERVER_STATE.STOPPED)
          return false;
 
-      // Create the pools - we have two pools - one for non scheduled - and another for scheduled
-      initializeExecutorServices();
-
       if (configuration.getJournalType() == JournalType.ASYNCIO) {
          if (!AIOSequentialFileFactory.isSupported()) {
             ActiveMQServerLogger.LOGGER.switchingNIO();

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1a7cd8aa/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ActiveMQScheduledLeaseLock.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ActiveMQScheduledLeaseLock.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ActiveMQScheduledLeaseLock.java
index 30db629..e870ea9 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ActiveMQScheduledLeaseLock.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ActiveMQScheduledLeaseLock.java
@@ -17,16 +17,16 @@
 
 package org.apache.activemq.artemis.core.server.impl.jdbc;
 
+import java.util.concurrent.Executor;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.activemq.artemis.core.io.IOCriticalErrorListener;
 import org.apache.activemq.artemis.core.server.ActiveMQScheduledComponent;
-import org.apache.activemq.artemis.utils.actors.ArtemisExecutor;
 import org.jboss.logging.Logger;
 
 /**
- * Default implementation of a {@link ScheduledLeaseLock}: see {@link ScheduledLeaseLock#of(ScheduledExecutorService, ArtemisExecutor, String, LeaseLock, long, IOCriticalErrorListener)}.
+ * Default implementation of a {@link ScheduledLeaseLock}: see {@link ScheduledLeaseLock#of(ScheduledExecutorService, Executor, String, LeaseLock, long, IOCriticalErrorListener)}.
  */
 final class ActiveMQScheduledLeaseLock extends ActiveMQScheduledComponent implements ScheduledLeaseLock {
 
@@ -39,7 +39,7 @@ final class ActiveMQScheduledLeaseLock extends ActiveMQScheduledComponent implem
    private final IOCriticalErrorListener ioCriticalErrorListener;
 
    ActiveMQScheduledLeaseLock(ScheduledExecutorService scheduledExecutorService,
-                              ArtemisExecutor executor,
+                              Executor executor,
                               String lockName,
                               LeaseLock lock,
                               long renewPeriodMillis,

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/1a7cd8aa/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ScheduledLeaseLock.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ScheduledLeaseLock.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ScheduledLeaseLock.java
index 43751f8..4e1f480 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ScheduledLeaseLock.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/jdbc/ScheduledLeaseLock.java
@@ -17,11 +17,11 @@
 
 package org.apache.activemq.artemis.core.server.impl.jdbc;
 
+import java.util.concurrent.Executor;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.activemq.artemis.core.io.IOCriticalErrorListener;
 import org.apache.activemq.artemis.core.server.ActiveMQComponent;
-import org.apache.activemq.artemis.utils.actors.ArtemisExecutor;
 
 /**
  * {@link LeaseLock} holder that allows to schedule a {@link LeaseLock#renew} task with a fixed {@link #renewPeriodMillis()} delay.
@@ -33,7 +33,7 @@ interface ScheduledLeaseLock extends ActiveMQComponent {
    long renewPeriodMillis();
 
    static ScheduledLeaseLock of(ScheduledExecutorService scheduledExecutorService,
-                                ArtemisExecutor executor,
+                                Executor executor,
                                 String lockName,
                                 LeaseLock lock,
                                 long renewPeriodMillis,