如何从ExecutorService中运行的任务中获取异常?

时间:2015-08-03 12:52:44

标签: java multithreading exception exception-handling executorservice

我有一个实现Runnable接口的A类,这个类执行我的批处理作业。它们是一个控制器类,负责创建ExecutorService并在for循环中将类A的对象提交给ExecutorService实例。

我想终止所有任务的执行,如果任何任务执行遇到异常,因为很可能在所有任务中引起异常并且我希望将原因抛给调用者代码。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

据我所知,Jdk中没有任何魔法可以解决任务的取消问题(在另一个兄弟线程出现问题之后)。看起来您需要跟踪Future实例并自行管理取消。

或者找一个为您完成工作的图书馆。如果Spring Batch支持这种情况,可能值得研究。