1.在Spring Boot使用异步非常简单,只需要使用@Async注解即可实现方法异步调用
2.采用@EnableAsync来开启异步任务支持,另外需要加入@Configuration来把当前类加入springIOC容器中。
@Configuration
@EnableAsync
public class SyncConfiguration {
}
3.在方法上标记异步调用
@Async 添加到方法上
//增加一个service类,用来做积分处理
@Service
@Slf4j
public class ScoreService {
@Async
public void addScore()
{
try
{
Thread.sleep(1000*5);
log.info("--------------处理积分--------------");
}catch (InternalError | InterruptedException ex)
{
ex.printStackTrace();
}
}
}
4.写个测试调用方法
@RestController
@Slf4j
public class TestController {
@Autowired
private ScoreService scoreService;
@RequestMapping("/sync")
public String createUser(){
log.info("-----------注册用户--------------");
this.scoreService.addScore();
return "OK";
}
@RequestMapping("/sync2")
public String createUser2(){
log.info("-----------注册用户2--------------");
this.scoreService.addScore2();
return "OK";
}
}