我在spring MVC中有一个控制器类,它有一个方法(executeBatch()
),可以在其他类上调用长批处理执行方法。这些执行需要很长时间,有时需要几个小时。 executeBatch()
方法使用RequestMapping
注释到客户端的ajax调用。
现在,我希望在完成上一次批处理执行之前从客户端调用此方法。这样,两个/多个批处理可以在两个/多个线程上同时执行。
我可以在这个场景中实现线程(我的意思是在每个新方法中创建新线程)以及如何实现?
答案 0 :(得分:0)
一个简单的解决方案是使用@Async注释您的服务方法。如果您定义了全局执行程序服务,那么将使用该执行程序执行此操作,该执行程序还将负责限制并行批处理作业的总数,以免使系统无法满足请求。