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 <[email protected]> Authored: Wed Dec 5 10:49:34 2018 +0100 Committer: Benoit Tellier <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
