You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/12/06 08:05:39 UTC
[2/3] james-project git commit: JAMES-2619 remove code in
NamedThreadFactory to rely on Guava
JAMES-2619 remove code in NamedThreadFactory to rely on Guava
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b0ebfb66
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b0ebfb66
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b0ebfb66
Branch: refs/heads/master
Commit: b0ebfb66209524cc2406ea508443a1a720da5a4a
Parents: 16e4d9f
Author: Matthieu Baechler <ma...@apache.org>
Authored: Wed Dec 5 10:49:34 2018 +0100
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Thu Dec 6 15:03:57 2018 +0700
----------------------------------------------------------------------
.../JMXEnabledScheduledThreadPoolExecutor.java | 2 +-
.../JMXEnabledThreadPoolExecutor.java | 4 +--
.../util/concurrent/NamedThreadFactory.java | 33 +++++++++-----------
...ledOrderedMemoryAwareThreadPoolExecutor.java | 4 +--
4 files changed, 19 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/b0ebfb66/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
index 9c3f499..a51e152 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
@@ -50,7 +50,7 @@ public class JMXEnabledScheduledThreadPoolExecutor extends ScheduledThreadPoolEx
}
public JMXEnabledScheduledThreadPoolExecutor(int corePoolSize, String jmxPath, String name) {
- super(corePoolSize, new NamedThreadFactory(name));
+ super(corePoolSize, NamedThreadFactory.withName(name));
this.jmxPath = jmxPath;
registerMBean();
http://git-wip-us.apache.org/repos/asf/james-project/blob/b0ebfb66/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
index 2a42464..c80112a 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
@@ -153,7 +153,7 @@ public class JMXEnabledThreadPoolExecutor extends ThreadPoolExecutor implements
*
*/
public static JMXEnabledThreadPoolExecutor newCachedThreadPool(String jmxPath, String name) {
- return new JMXEnabledThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<>(), new NamedThreadFactory(name), jmxPath);
+ return new JMXEnabledThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<>(), NamedThreadFactory.withName(name), jmxPath);
}
@@ -174,6 +174,6 @@ public class JMXEnabledThreadPoolExecutor extends ThreadPoolExecutor implements
}
public static JMXEnabledThreadPoolExecutor newFixedThreadPool(String jmxPath, String name, int nThreads) {
- return newFixedThreadPool(jmxPath, nThreads, new NamedThreadFactory(name));
+ return newFixedThreadPool(jmxPath, nThreads, NamedThreadFactory.withName(name));
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b0ebfb66/server/container/util/src/main/java/org/apache/james/util/concurrent/NamedThreadFactory.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrent/NamedThreadFactory.java b/server/container/util/src/main/java/org/apache/james/util/concurrent/NamedThreadFactory.java
index 8aeaaf5..f982349 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrent/NamedThreadFactory.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrent/NamedThreadFactory.java
@@ -19,35 +19,30 @@
package org.apache.james.util.concurrent;
import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicLong;
-/**
- * ThreadPool which use name and a counter for thread names
- */
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
public class NamedThreadFactory implements ThreadFactory {
public final String name;
- private final AtomicLong count = new AtomicLong();
- private final int priority;
+ private final ThreadFactory threadFactory;
- public NamedThreadFactory(String name, int priority) {
- if (priority > Thread.MAX_PRIORITY || priority < Thread.MIN_PRIORITY) {
- throw new IllegalArgumentException("Priority must be <= " + Thread.MAX_PRIORITY + " and >=" + Thread.MIN_PRIORITY);
- }
- this.name = name;
- this.priority = priority;
+ public static NamedThreadFactory withClassName(Class<?> clazz) {
+ return new NamedThreadFactory(clazz.getName());
}
- public NamedThreadFactory(String name) {
- this(name, Thread.NORM_PRIORITY);
+ public static NamedThreadFactory withName(String name) {
+ return new NamedThreadFactory(name);
+ }
+
+ private NamedThreadFactory(String name) {
+ this.name = name;
+ this.threadFactory = new ThreadFactoryBuilder().setNameFormat(name + "-%d").build();
}
@Override
public Thread newThread(Runnable r) {
- Thread t = new Thread(r);
- t.setName(name + "-" + count.incrementAndGet());
- t.setPriority(priority);
- return t;
+ return threadFactory.newThread(r);
}
public String getName() {
@@ -56,7 +51,7 @@ public class NamedThreadFactory implements ThreadFactory {
@Override
public String toString() {
- return "NamedTreadFactory: " + getName();
+ return "NamedThreadFactory: " + getName();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b0ebfb66/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
index e59a8fb..f0d64df 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
@@ -44,13 +44,13 @@ public class JMXEnabledOrderedMemoryAwareThreadPoolExecutor extends OrderedMemor
private String mbeanName;
public JMXEnabledOrderedMemoryAwareThreadPoolExecutor(int corePoolSize, long maxChannelMemorySize, long maxTotalMemorySize, String jmxPath, String name) {
- super(corePoolSize, maxChannelMemorySize, maxTotalMemorySize, 30, TimeUnit.SECONDS, new NamedThreadFactory(name));
+ super(corePoolSize, maxChannelMemorySize, maxTotalMemorySize, 30, TimeUnit.SECONDS, NamedThreadFactory.withName(name));
this.jmxPath = jmxPath;
registerMBean();
}
public JMXEnabledOrderedMemoryAwareThreadPoolExecutor(int corePoolSize, long maxChannelMemorySize, long maxTotalMemorySize, long keepAliveTime, TimeUnit unit, String jmxPath, String name) {
- super(corePoolSize, maxChannelMemorySize, maxTotalMemorySize, keepAliveTime, unit, new NamedThreadFactory(name));
+ super(corePoolSize, maxChannelMemorySize, maxTotalMemorySize, keepAliveTime, unit, NamedThreadFactory.withName(name));
this.jmxPath = jmxPath;
registerMBean();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org