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