From 2917d335bc3fd1f6dfb57cbad6d73ba48bc5f9d7 Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: 星期六, 19 二月 2022 16:15:44 +0800 Subject: [PATCH] update 优化 是否为管理员的判断 --- ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java | 20 ++++---------------- 1 files changed, 4 insertions(+), 16 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java index 7758e97..f6e07fe 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java @@ -1,6 +1,7 @@ package com.ruoyi.framework.config; import com.ruoyi.common.utils.Threads; +import com.ruoyi.common.utils.reflect.ReflectUtils; import com.ruoyi.framework.config.properties.ThreadPoolProperties; import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -33,21 +34,7 @@ executor.setCorePoolSize(threadPoolProperties.getCorePoolSize()); executor.setQueueCapacity(threadPoolProperties.getQueueCapacity()); executor.setKeepAliveSeconds(threadPoolProperties.getKeepAliveSeconds()); - RejectedExecutionHandler handler; - switch (threadPoolProperties.getRejectedExecutionHandler()) { - case "CallerRunsPolicy": - handler = new ThreadPoolExecutor.CallerRunsPolicy(); - break; - case "DiscardOldestPolicy": - handler = new ThreadPoolExecutor.DiscardOldestPolicy(); - break; - case "DiscardPolicy": - handler = new ThreadPoolExecutor.DiscardPolicy(); - break; - default: - handler = new ThreadPoolExecutor.AbortPolicy(); - break; - } + RejectedExecutionHandler handler = ReflectUtils.newInstance(threadPoolProperties.getRejectedExecutionHandler().getClazz()); executor.setRejectedExecutionHandler(handler); return executor; } @@ -58,7 +45,8 @@ @Bean(name = "scheduledExecutorService") protected ScheduledExecutorService scheduledExecutorService() { return new ScheduledThreadPoolExecutor(threadPoolProperties.getCorePoolSize(), - new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build()) { + new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build(), + new ThreadPoolExecutor.CallerRunsPolicy()) { @Override protected void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); -- Gitblit v1.9.3