From 2873219ba882dc9e22bf741cec8e87d3e0b5a0d3 Mon Sep 17 00:00:00 2001 From: "chen.ma" Date: Wed, 5 Jan 2022 00:17:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A4=BA=E4=BE=8B=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=B8=AD=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8B=92=E7=BB=9D?= =?UTF-8?q?=E7=AD=96=E7=95=A5=20SPI=20=E5=AE=9E=E7=8E=B0.=20(#61)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErrorLogRejectedExecutionHandler.java | 38 +++++++++++++++++++ ...starter.spi.CustomRejectedExecutionHandler | 1 + 2 files changed, 39 insertions(+) create mode 100644 hippo4j-example/src/main/java/cn/hippo4j/example/handler/ErrorLogRejectedExecutionHandler.java create mode 100644 hippo4j-example/src/main/resources/META-INF/services/cn.hippo4j.starter.spi.CustomRejectedExecutionHandler diff --git a/hippo4j-example/src/main/java/cn/hippo4j/example/handler/ErrorLogRejectedExecutionHandler.java b/hippo4j-example/src/main/java/cn/hippo4j/example/handler/ErrorLogRejectedExecutionHandler.java new file mode 100644 index 00000000..fa700658 --- /dev/null +++ b/hippo4j-example/src/main/java/cn/hippo4j/example/handler/ErrorLogRejectedExecutionHandler.java @@ -0,0 +1,38 @@ +package cn.hippo4j.example.handler; + +import cn.hippo4j.starter.spi.CustomRejectedExecutionHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 自定义拒绝策略. + * + * @author chen.ma + * @date 2022/1/4 22:19 + */ +public class ErrorLogRejectedExecutionHandler implements CustomRejectedExecutionHandler { + + @Override + public Integer getType() { + return 12; + } + + @Override + public RejectedExecutionHandler generateRejected() { + return new CustomErrorLogRejectedExecutionHandler(); + } + + public static class CustomErrorLogRejectedExecutionHandler implements RejectedExecutionHandler { + + @Override + public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { + Logger logger = LoggerFactory.getLogger(this.getClass()); + logger.error("线程池抛出拒绝策略."); + } + + } + +} diff --git a/hippo4j-example/src/main/resources/META-INF/services/cn.hippo4j.starter.spi.CustomRejectedExecutionHandler b/hippo4j-example/src/main/resources/META-INF/services/cn.hippo4j.starter.spi.CustomRejectedExecutionHandler new file mode 100644 index 00000000..adda6170 --- /dev/null +++ b/hippo4j-example/src/main/resources/META-INF/services/cn.hippo4j.starter.spi.CustomRejectedExecutionHandler @@ -0,0 +1 @@ +cn.hippo4j.example.handler.ErrorLogRejectedExecutionHandler