Spring MVC如何获得运行异步任务的进度

Spring MVC如何获得运行异步任务的进度,第1张

Spring MVC如何获得运行异步任务的进度

您是否已查看Spring参考文档中的

@Async
注释

首先,为您的异步任务创建一个bean:

@Servicepublic class AsyncServiceBean implements ServiceBean {    private AtomicInteger cn;    @Async    public void doSomething() {         // triggers the async task, which updates the cn status accordingly    }    public Integer getCn() {        return cn.get();    }}

接下来,从控制器调用它:

@Controllerpublic class YourController {    private final ServiceBean bean;    @Autowired    YourController(ServiceBean bean) {        this.bean = bean;    }    @RequestMapping(value = "/trigger")    void triggerAsyncJob() {        bean.doSomething();    }    @RequestMapping(value = "/status")    @ResponseBody    Map<String, Integer> fetchStatus() {        return Collections.singletonMap("cn", bean.getCn());    }        }

记住要相应地配置一个执行器,例如

<task:annotation-driven executor="myExecutor"/><task:executor id="myExecutor" pool-size="5"/>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5066119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存