diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java index 67ffe41..3280809 100644 --- a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java @@ -74,8 +74,6 @@ public class HamsterCorePlugin extends JavaPlugin { Logger logger = getLogger(); long start = System.currentTimeMillis(); logger.info("仓鼠核心正在关闭..."); - CoreConstantObjects.WORKER_EXECUTOR.shutdownNow(); - logger.info("已暂停 WORKER_EXECUTOR."); CoreConstantObjects.SCHEDULED_EXECUTOR.shutdownNow(); logger.info("已暂停 SCHEDULED_EXECUTOR."); long time = System.currentTimeMillis() - start; diff --git a/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java b/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java index 6d5c8db..01b2e22 100644 --- a/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java +++ b/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java @@ -43,8 +43,6 @@ public class HamsterCorePlugin extends Plugin { Logger logger = getLogger(); long start = System.currentTimeMillis(); logger.info("仓鼠核心正在关闭..."); - CoreConstantObjects.WORKER_EXECUTOR.shutdownNow(); - logger.info("已暂停 WORKER_EXECUTOR."); CoreConstantObjects.SCHEDULED_EXECUTOR.shutdownNow(); logger.info("已暂停 SCHEDULED_EXECUTOR."); long time = System.currentTimeMillis() - start; diff --git a/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java b/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java index ed6d30d..a0ddf75 100644 --- a/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java +++ b/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java @@ -6,7 +6,9 @@ import org.jetbrains.annotations.NotNull; import java.lang.reflect.Type; import java.util.UUID; -import java.util.concurrent.*; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ThreadFactory; @SuppressWarnings("unused") public interface CoreConstantObjects { @@ -30,50 +32,43 @@ public interface CoreConstantObjects { .serializeNulls() .setPrettyPrinting() .create(); - /** - * JSON 解析器 - */ - JsonParser JSON_PARSER = new JsonParser(); - /** - * 异步线程 - */ - ExecutorService WORKER_EXECUTOR = new ThreadPoolExecutor(1, Integer.MAX_VALUE, 60, TimeUnit.MINUTES, new SynchronousQueue<>(), new APIThreadFactory("HamsterCore - Executor")); /** * 调度器线程 */ - ScheduledExecutorService SCHEDULED_EXECUTOR = Executors.newScheduledThreadPool(1, new APIThreadFactory("HamsterCore - Scheduler")); + ScheduledExecutorService SCHEDULED_EXECUTOR = Executors.newScheduledThreadPool(1, new NamedThreadFactory("HamsterCore - Scheduler")); - class APIThreadFactory implements ThreadFactory { - private final String name; - private int threadID; +} - public APIThreadFactory(String name) { - this.name = name; - threadID = 0; - } +class NamedThreadFactory implements ThreadFactory { + private final String name; + private int threadID; - @Override - public Thread newThread(@NotNull Runnable runnable) { - threadID++; - return new Thread(runnable, name + "#" + threadID); - } + public NamedThreadFactory(String name) { + this.name = name; + threadID = 0; } - class MessageTypeAdapter implements JsonSerializer, JsonDeserializer { - public static final MessageTypeAdapter INSTANCE = new MessageTypeAdapter(); - - private MessageTypeAdapter() { - } - - @Override - public DisplayMessage deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - return new DisplayMessage().fromJson(json); - } - - @Override - public JsonElement serialize(DisplayMessage src, Type typeOfSrc, JsonSerializationContext context) { - return src.saveToJson(); - } + @Override + public Thread newThread(@NotNull Runnable runnable) { + threadID++; + return new Thread(runnable, name + "#" + threadID); + } +} + +class MessageTypeAdapter implements JsonSerializer, JsonDeserializer { + public static final MessageTypeAdapter INSTANCE = new MessageTypeAdapter(); + + private MessageTypeAdapter() { + } + + @Override + public DisplayMessage deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + return new DisplayMessage().fromJson(json); + } + + @Override + public JsonElement serialize(DisplayMessage src, Type typeOfSrc, JsonSerializationContext context) { + return src.saveToJson(); } }