0

我有一個實現Runnable接口的類A,該類執行我的批處理作業。它們是一個控制器類,它負責創建ExecutorService並在for循環中將類A的對象提交給ExecutorService實例。如何從運行在ExecutorService中的任務中獲取異常?

我想終止所有任務的執行,如果任何任務執行遇到異常,因爲它們很有可能在所有任務中引發異常,並且我希望將原因拋出到調用者代碼。

我該如何做到這一點?

+1

http://stackoverflow.com/questions/2248131/handling-exceptions-from-java-executorservice-tasks可能的重複 –

回答

0

據我所知,在Jdk中沒有提供任何可以取消任務(在另一個兄弟線程中出現問題後)的魔法。看起來你需要跟蹤Future實例並自己管理取消。

或找到一個爲您完成工作的圖書館。 Spring Batch是否支持這種情況可能是值得研究的。

相關問題