spring boot 异步处理请求

2020年02月19日 347点热度 0人点赞 0条评论

需求是前端上传一个表格,需要将表格中的数据进行处理并插入到数据库中,表格的数据量可能会很大,容易超时,所以采用异步方式。

异步处理

启动类上添加@EnableAsync

在数据处理的方法上添加@Async注解,注意该方法被同一个类中的方法调用是无效的。也就是说该方法不能写在控制器中。

结果获取

对于处理进度和处理结果,我是用的redis来处理的。

在数据处理时不断更新redis中的数据,然后提供一个接口用来让前端获取处理进度和处理结果。

前端可以设置定时器不断获取处理进度和处理结果。

当数据处理完成并且用户已经获得了处理结果,就从redis中删除。

likole

人能常清静,天地悉皆归

文章评论