アプリケーションでの同時処理のためのSpring ThreadPoolTaskExecutor 。すべてのジョブが正常に完了すると、showdown メソッドが呼び出されます。この実装は正常に機能しています。junit の実行時に問題が発生します。
SpringJUnit4ClassRunnerを使用して、このクラスの複数のテスト ケースを作成しました。最初のテスト ケースは完全に実行され、ThreadPoolTaskExecutor がシャットダウンされます。しかし、2 番目のテスト ケースがタスクを送信しようとすると、以下の例外が発生します。
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 に送信しようとしているため、例外がスローされます。
この問題の解決を手伝ってくれる人はいますか?