读书人

dubbo - ThreadPoolExecutor.AbortPo

发布时间: 2012-08-17 02:08:34 作者: rapoo

dubbo ---- ThreadPoolExecutor.AbortPolicy

?

public class AbortPolicyWithReport extends ThreadPoolExecutor.AbortPolicy {        protected static final Logger logger = LoggerFactory.getLogger(AbortPolicyWithReport.class);        private final String threadName;        private final URL url;        public AbortPolicyWithReport(String threadName, URL url) {        this.threadName = threadName;        this.url = url;    }        @Override    public void rejectedExecution(Runnable r, ThreadPoolExecutor e) {        String msg = String.format("Thread pool is EXHAUSTED!" +        " Thread Name: %s, Pool Size: %d (active: %d, core: %d, max: %d, largest: %d), Task: %d (completed: %d), Executor status:(isShutdown:%s, isTerminated:%s, isTerminating:%s), in %s!" ,                 threadName, e.getPoolSize(), e.getActiveCount(), e.getCorePoolSize(), e.getMaximumPoolSize(), e.getLargestPoolSize(),                e.getTaskCount(), e.getCompletedTaskCount(), e.isShutdown(), e.isTerminated(), e.isTerminating(), url.toIdentityString());        logger.warn(msg);        throw new RejectedExecutionException(msg);    }}

?

dubbo中扩展线程拒绝任务的处理程序,仅作了日志记录

?

?

读书人网 >开源软件

热点推荐