当前位置: 首页 > 知识库问答 >
问题:

Spring ThreadPoolTaskExecutor关闭异步任务

宗政燕七
2023-03-14

我正在使用Spring任务执行框架执行一个Async任务。为此,我用@Async注释注释了我的方法,并将以下内容添加到基于XML的应用程序上下文中:

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

在本例中,我们想知道这个执行器的shutdown方法是如何被调用的?我想确保我的应用不会永远等待这个线程池。

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

有什么想法吗?

共有1个答案

谭昕
2023-03-14

spring内部使用org。springframework。行程安排。同时发生的ThreadPoolTaskExecutor用于任务:executor的命名空间如果查看相关的源代码(继承的),执行器上的关闭将在bean销毁时调用;所以不用担心。

 类似资料:
  • 问题内容: 我目前在关闭应用程序的CTRL-C期间关闭异步协程时遇到问题。下面的代码是我现在所拥有的简化版本: 如果按CTRL-C,会给我以下输出: 我对asyncio的经验不是很丰富,所以我很确定我在这里缺少重要的东西。真正让我头疼的是输出之后的部分。从开始,我必须承认我不知道发生了什么。我查看了其他问题,但无法正常工作。那么,为什么这段代码输出类似的东西?如何干净地关闭协程呢? 谢谢你的帮助!

  • 问题内容: 在我的模型中,具有获取数据的功能,该数据需要完成处理程序作为参数: 它正在调用另一个函数,该函数执行联系人的异步加载,我将完成情况转发到该函数 具有完成的调用如下所示: 有时这是可行的,但是执行的顺序常常不是我期望的那样。问题是,有时下的范围之前执行下结束了。 这是为什么?如何确保在之后开始执行? 问题答案: 一些观察: 它总是执行2之前1处的值。获得描述的行为的唯一方法是,如果要在f

  • 主要内容:本节引言:,1.相关概念,2.AsyncTask全解析:,3.AsyncTask使用示例:,本节小结:本节引言: 本节给大家带来的是Android给我们提供的一个轻量级的用于处理异步任务的类:AsyncTask,我们一般是 继承AsyncTask,然后在类中实现异步操作,然后将异步执行的进度,反馈给UI主线程~ 好吧,可能有些概念大家不懂,觉得还是有必要讲解下多线程的概念,那就先解释下一些概念性的东西吧! 1.相关概念 1)什么是多线程: 答:先要了解这几个名称:应用程序,进程,线程,

  • 这可能是一个更巧妙的问题,但我在ViewComponent类中有以下方法 所以我的问题是我应该采取什么方法?让异步在那里与警告无关,还是有一个解决方案/修复这个警告?它对我的项目有那么大的影响吗? 谢了!

  • 8.2 使用异步任务 注意:本节所介绍的功能要求 vim 编译包括 +job 特性。 8.2.1 简单任务体验 前文说到,Vim 的异步任务主要是针对外部命令的。那我们就先以最简单最常见的系统命 令 ls 为例,其功能是列出当前目录下的文件,若在 Windows 操作系统下或可用 dir 命令代替。 首先请在 shell 中进入一个非空目录,便于实践,并在 shell 中执行如下命令: $ ls

  • 问题内容: 我在一个比较大的Web应用程序上工作,后端主要使用PHP。代码中有几个地方需要完成一些任务,但是我不想让用户等待结果。例如,在创建新帐户时,我需要向他们发送欢迎电子邮件。但是,当他们按下“完成注册”按钮时,我不想让他们等到实际发送电子邮件之后,我只想开始该过程,并立即向用户返回一条消息。 到目前为止,在某些地方,我一直在使用exec()感觉像是被黑客入侵。基本上是这样的: 这似乎可行,