ruoyi-admin/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-common/src/main/java/com/ruoyi/common/enums/ThreadPoolRejectedPolicy.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/ThreadPoolProperties.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-admin/src/main/resources/application.yml
@@ -246,11 +246,11 @@ # çº¿ç¨æ± ç»´æ¤çº¿ç¨æå 许çç©ºé²æ¶é´ keepAliveSeconds: 300 # çº¿ç¨æ± 对æç»ä»»å¡(æ 线ç¨å¯ç¨)çå¤ççç¥ # CallerRunsPolicy çå¾ # DiscardOldestPolicy æ¾å¼ææ§ç # DiscardPolicy ä¸¢å¼ # AbortPolicy 䏿¢ rejectedExecutionHandler: CallerRunsPolicy # CALLER_RUNS_POLICY çå¾ # DISCARD_OLDEST_POLICY æ¾å¼ææ§ç # DISCARD_POLICY ä¸¢å¼ # ABORT_POLICY 䏿¢ rejectedExecutionHandler: CALLER_RUNS_POLICY # feign ç¸å ³é ç½® feign: ruoyi-common/src/main/java/com/ruoyi/common/enums/ThreadPoolRejectedPolicy.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package com.ruoyi.common.enums; import lombok.AllArgsConstructor; import lombok.Getter; import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadPoolExecutor; /** * çº¿ç¨æ± æç»çç¥ æ³å * * @author Lion Li */ @Getter @AllArgsConstructor public enum ThreadPoolRejectedPolicy { CALLER_RUNS_POLICY("çå¾ ", ThreadPoolExecutor.CallerRunsPolicy.class), DISCARD_OLDEST_POLICY("æ¾å¼ææ§ç", ThreadPoolExecutor.DiscardOldestPolicy.class), DISCARD_POLICY("丢å¼", ThreadPoolExecutor.DiscardPolicy.class), ABORT_POLICY("䏿¢", ThreadPoolExecutor.AbortPolicy.class); private final String name; private final Class<? extends RejectedExecutionHandler> clazz; } 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; @@ -12,7 +13,6 @@ import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor; /** * çº¿ç¨æ± é ç½® @@ -33,21 +33,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; } ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/ThreadPoolProperties.java
@@ -1,5 +1,6 @@ package com.ruoyi.framework.config.properties; import com.ruoyi.common.enums.ThreadPoolRejectedPolicy; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @@ -42,6 +43,6 @@ /** * çº¿ç¨æ± 对æç»ä»»å¡(æ 线ç¨å¯ç¨)çå¤ççç¥ */ private String rejectedExecutionHandler; private ThreadPoolRejectedPolicy rejectedExecutionHandler; }