学习目标
-
熟悉SpringBoot整合异步任务的实现
-
熟悉SpringBoot整合定时任务的实现
-
熟悉SpringBoot整合邮件任务的实现
开发web应用时,多数应用都具备任务调度功能。常见的任务包括异步任务,定时任务和发邮件任务。我们以数据库报表为例看看任务调度如何帮助改善系统设计。报表可能时错综复杂的,用户可能需要很长时间找到需要的报表数据,此时,我们可以在这个报表应用中添加异步任务减少用户等待时间,从而提高用户体验,除此之外,还可以在报表应用中添加定时任务和邮件任务,以便用户可以安排在任何它们需要的时间定时生成报表,并在Email中发送。
8.1 异步任务
web应用开发中,大多数情况都是通过同步方式完成数据交互处理,但是,当处理与第三方系统的交互时,容易造成响应迟缓的情况,之前大部分都是使用多线程完成此类任务,除此之外,还可以使用异步调用的方式完美解决这个问题。根据异步处理方式的不同,可以将异步任务的调用分为无返回值异步任务调用和有返回值异步任务调用。
8.1.1 无返回值异步任务调用
在实际开发中,项目可能会向新注册用户发送短信验证码,这时,可以考虑使用异步任务调用的方式实现,一方面时因为用户对这个时效性要求不是特别高,另一方面在特定时间范围内没有收到验证码,用户可以点击再次发送验证码。
1.SpringBoot项目创建
使用Spring Initializr框架提供了对异步任务的支持,SpringBoot框架继承了这一异步任务功能。在SpringBoot中整合异步任务时,只需在项目中引入web模块中的web依赖就可以