java SpringBoot注解@Async不生效怎么解决(@async,java,springboot,开发技术)

时间:2024-05-03 12:55:32 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

问题描述:

java SpringBoot注解@Async不生效怎么解决

这里虽然加了@EnableAsync@Async,但是异步请求依然没有生效

解决方案:

方法一:

同一个类中调用需要先获取代理对象,也就是手动获取对象

@Service@EnableAsyncpublicclassDemoService{publicvoidadd(){DemoServicebean=SpringUtil.getBean(DemoService.class);System.out.println("开始");bean.sendToKafka();System.out.println("结束");}@AsyncpublicvoidsendToKafka(){try{Thread.sleep(10000);System.out.println("我睡醒了!!!");}catch(InterruptedExceptione){e.printStackTrace();}}}

方法二:

不同的类调用,直接注入即可

AsyncHandle.java (异步处理类)

@Service@EnableAsyncpublicclassAsyncHandle{@AsyncpublicvoidsendToKafka(){try{Thread.sleep(10000);System.out.println("我睡醒了!!!");}catch(InterruptedExceptione){e.printStackTrace();}}}

DemoService.java (业务类)

@ServicepublicclassDemoService{@AutowiredprivateAsyncHandleasyncHandle;publicvoidadd(){System.out.println("开始");asyncHandle.sendToKafka();System.out.println("结束");}}
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:java SpringBoot注解@Async不生效怎么解决的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Jmeter怎么实现Base64编码下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18