加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Spring运行长进程的最佳方法是什么?

发布时间:2020-12-15 01:33:50 所属栏目:大数据 来源:网络整理
导读:我想问一下使用Spring运行长进程的最佳方法是什么.我有一个webapp,当客户端发出请求时,它运行一个Spring控制器.该Controller将从请求中获取一些参数,然后运行查询并从数据库中获取记录. 来自DB的记录很高,我需要做一个可能需要很长时间的比较逻辑,所以我需要

我想问一下使用Spring运行长进程的最佳方法是什么.我有一个webapp,当客户端发出请求时,它运行一个Spring控制器.该Controller将从请求中获取一些参数,然后运行查询并从数据库中获取记录.

来自DB的记录很高,我需要做一个可能需要很长时间的比较逻辑,所以我需要单独运行它.
执行此过程时,应将最终结果写入excel文件并邮寄.

最佳答案
您可以使用注释@Async立即返回.

Fisrt,写一个@Service类来处理你的DB和Excel工作.

@Service
public class AccountService {
    @Async
    public void executeTask(){
    // DB and Excel job
    }
}

然后,在控制器方法中触发任务

@Controller
public class taskController{
    @RequestMapping(value = "as")
    @ResponseBody
    public ResultInfo async() throws Exception{
        accountService.executeTask();
        return new ResultInfo(0,"success",null);
    }
}

最后,将其添加到application-context.xml(spring配置文件)

希望这会帮助你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读