Spring Boot任务管理之无返回值异步任务调用

一、service层

 

package com.uos.schedule.service;

import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

/**
 *服务层
 */
@Service
public class OwnAsynService {
    @Async
    public void sendSMS() throws InterruptedException{
        System.out.println("调用短信验证服务方法");
        Long startTime = System.currentTimeMillis();
        Thread.sleep(5000);
        Long endTime=System.currentTimeMillis();

        System.out.println("短信业务执行消耗完成时间:\t"+(endTime-startTime));
    }
}

OwnAsynService

二、controller层

 

package com.uos.schedule.controller;

import com.uos.schedule.service.OwnAsynService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 *控制层
 */
@RestController
public class OwnAsyncController {
    @Autowired
    private OwnAsynService ownAsynService;

    @GetMapping(value = {"sendSMS"})
    public String sendSMS() throws InterruptedException {
        Long startTime = System.currentTimeMillis();
        ownAsynService.sendSMS();
        Long endTime = System.currentTimeMillis();
        System.out.println("主业务执行消耗完成时间:\t" + (endTime - startTime));
        return "success";
    }
}

OwnAsyncController

三、主程序类

 四、结果测试

 

猜你喜欢

转载自www.cnblogs.com/my-program-life/p/12047396.html
今日推荐