spring ThreadPoolTaskExecutor用于在我们的应用程序中进行并发处理。成功完成所有工作后,将调用摊牌方法。此实现工作正常,执行 junit 时出现问题。
我已经使用SpringJUnit4ClassRunner为这个类编写了多个测试用例。第一个测试用例将完美运行并关闭 ThreadPoolTaskExecutor。但是当第二个测试用例尝试提交任务时,会引发以下异常
org.springframework.core.task.TaskRejectedException: Executor [java.util.concurrent.ThreadPoolExecutor@16cefa8] did not accept task: com.sample.SampleJob@ea3cdf
....
aused by: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
根据我的分析,抛出异常是因为我试图在关闭时将任务提交给 ThreadPoolExecutor。
任何人都可以帮助我解决这个问题吗?