目录
一:通过两个注解即可实现,详见如下示例
- @EnableAsync
- @Async
二:输出结果
Async 处理结束20191104 18:33:10
Async 处理结束 = handlePaymentTemplateMsg220191104 18:33:17
Async 处理结束 = handlePaymentTemplateMsg120191104 18:33:19
三:Controller
/**
* 定时任务调度统一处理Controller
* @author Andy
*/
@RestController
@RequestMapping("/scheduler")
public class SchedulerController {
@Autowired
private SchedulerService schedulerService;
/**
* 短信Controller
* @return
*/
@GetMapping(value = "/batchSms")
public Object batchSms() {
this.schedulerService.handleSms();
System.out.println("Async 处理结束" + new SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new Date()));
return ResultUtil.getSuccessResultDto();;
}
}
四:Service
- @EnableAsync
- @Async
/**
* Scheduler 业务处理Service类
* @author andy
*/
@EnableAsync
@Slf4j
@Service
public class SchedulerServiceImpl implements SchedulerService {
@Async
@Override
public void handleSms() {
String currentTime = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date());
this.handleSms(currentTime);
System.out.println("Async 处理结束 = handlePaymentTemplateMsg1" + new SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new Date()));
}
public void handleSms(String planSendTime) {
System.out.println("Async 处理结束 = handlePaymentTemplateMsg2" + new SimpleDateFormat("yyyyMMdd HH:mm:ss").format(new Date()));
}
}