关于springboot的@Scheduled和@Async注解的使用

springboot在@Scheduled注解方法去调用另外@component注解过的一个类的一个@Async方法,能实现异步吗?

`
//伪代码
@Component
public class AsyncTask {

@Async
public void a(String str){
    System.out.println("执行异步a方法"+"内容为:"+str);
}

}

@Component
public class SpringBootTask {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Autowired 
AsyncTask asynctask;
@Autowired 
BService bService;

@Scheduled(cron="0 30 00 * * ?")
public void timerJob(){
    List<String> list = b.service.getXXList();
    //这个定时器大概是要让a()执行多次,但是内容不同。
    //我是想定时器任务里能不能新开线程去处理数据
    for(String str:list){
        asynctask.a(str);
    }
}

}

`

阅读 5.8k
1 个回答

当然是可以的,但是你只是简单的输出字符串可能看不出什么效果。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题