如何在RejectedExecutionHandler中记录runnable

时间:2015-06-22 08:37:53

标签: java concurrency java.util.concurrent

我想记录失败的runnables。

为此,我考虑:

public class LoggableRejectedExecutorHanlder implements RejectedExecutionHandler {
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
    ....
    log.error(" rejected task" + r);
}
...

service.submit(new Runnable() { ... public String toString() {return xxx;})

我将在ThreadPoolExecutor.RejectedExecutionHandler中使用该类。

不幸的是在日志中我看到r是FutureTask,并且我没有使用我的toString实现。在FutureTask中,我看到我的runnable被包装在私有的最终同步属性中。

我是否有一个很好的方法(除了反思)我可以在rejectedHandler中登录我的runnable的toString?

0 个答案:

没有答案