diff --git a/commons/src/main/java/org/infinispan/commons/executors/CachedThreadPoolExecutorFactory.java b/commons/src/main/java/org/infinispan/commons/executors/CachedThreadPoolExecutorFactory.java index 456eb782f60e..3de1250545d8 100644 --- a/commons/src/main/java/org/infinispan/commons/executors/CachedThreadPoolExecutorFactory.java +++ b/commons/src/main/java/org/infinispan/commons/executors/CachedThreadPoolExecutorFactory.java @@ -7,13 +7,9 @@ /** * @author Galder ZamarreƱo */ -public class CachedThreadPoolExecutorFactory implements ThreadPoolExecutorFactory { +public enum CachedThreadPoolExecutorFactory implements ThreadPoolExecutorFactory { - private static final CachedThreadPoolExecutorFactory INSTANCE = new CachedThreadPoolExecutorFactory(); - - private CachedThreadPoolExecutorFactory() { - // singleton - } + INSTANCE; @Override public ExecutorService createExecutor(ThreadFactory factory) { @@ -28,5 +24,4 @@ public void validate() { public static CachedThreadPoolExecutorFactory create() { return INSTANCE; } - } diff --git a/commons/src/main/java/org/infinispan/commons/executors/ScheduledThreadPoolExecutorFactory.java b/commons/src/main/java/org/infinispan/commons/executors/ScheduledThreadPoolExecutorFactory.java index e7b400123e6b..a30250e270bb 100644 --- a/commons/src/main/java/org/infinispan/commons/executors/ScheduledThreadPoolExecutorFactory.java +++ b/commons/src/main/java/org/infinispan/commons/executors/ScheduledThreadPoolExecutorFactory.java @@ -1,23 +1,21 @@ package org.infinispan.commons.executors; -import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadFactory; /** * @author Galder ZamarreƱo */ -public class ScheduledThreadPoolExecutorFactory implements ThreadPoolExecutorFactory { +public enum ScheduledThreadPoolExecutorFactory implements ThreadPoolExecutorFactory { - private static final ScheduledThreadPoolExecutorFactory INSTANCE = new ScheduledThreadPoolExecutorFactory(); - - private ScheduledThreadPoolExecutorFactory() { - // singleton - } + INSTANCE; @Override public ScheduledExecutorService createExecutor(ThreadFactory factory) { - return Executors.newSingleThreadScheduledExecutor(factory); + ScheduledThreadPoolExecutor result = new ScheduledThreadPoolExecutor(1, factory); + result.setRemoveOnCancelPolicy(true); + return result; } @Override @@ -28,5 +26,4 @@ public void validate() { public static ScheduledThreadPoolExecutorFactory create() { return INSTANCE; } - }