使用Async任务关闭Spring ThreadPoolTask​​Executor

时间:2014-10-17 06:25:01

标签: java spring asynchronous concurrency

我正在使用spring task execution framework来排除Async任务。 这样做我使用 @Async 注释对我的方法进行了注释,并将以下内容添加到基于XML的应用程序上下文中:

<!-- async support -->
<task:annotation-driven executor="myAsyncExecutor" />
<task:executor id="myAsyncExecutor" pool-size="5-10" queue-capacity="100" />

在这种情况下想知道 - 如何调用此执行程序的关闭方法?我想确保我的应用程序不会永远等待这个threadPool。

我可以(而不是使用任务命名空间)将我的执行器定义为bean,然后将其destroy-method设置为“shutdown”,但想知道任务命名空间定义样式。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

内部spring使用org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor作为task:executor的命名空间。

如果查看相关的source code(继承),则在bean destroy中调用执行程序的关闭;所以不用担心。

相关问题