添加线程池拒绝策略

This commit is contained in:
yuye
2019-04-14 15:06:48 +08:00
parent acf7968215
commit cb5aeb15cf
@@ -1,5 +1,6 @@
package com.mars.netty.thread;
import com.mars.core.logger.MarsLogger;
import com.mars.netty.util.ResponseUtil;
import java.util.concurrent.RejectedExecutionHandler;
@@ -10,6 +11,8 @@ import java.util.concurrent.ThreadPoolExecutor;
*/
public class MarsRejectedExecutionHandler implements RejectedExecutionHandler {
private MarsLogger marsLogger = MarsLogger.getLogger(MarsRejectedExecutionHandler.class);
/**
* 拒绝策略
* @param r
@@ -17,9 +20,13 @@ public class MarsRejectedExecutionHandler implements RejectedExecutionHandler {
*/
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
marsLogger.info("拒绝策略开始执行");
if(r instanceof RequestThread){
RequestThread requestThread = (RequestThread)r;
ResponseUtil.sendForBidden(requestThread.getCtx(),"当前请求太多,请稍后访问");
marsLogger.info("拒绝策略开始结束");
return;
}
marsLogger.info("拒绝策略没有成功执行");
}
}