java SpringBoot注解@Async不生效怎么解决
导读:本文共913.5字符,通常情况下阅读需要3分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 问题描述:这里虽然加了@EnableAsync和@Async,但是异步请求依然没有生效解决方案:方法一:同一个类中调用需要先获取代理对象,也就是手动获取对象@Service@EnableAsyncpublicclassDemoService{publicvoidadd(){DemoServicebean=SpringUtil.getBean(DemoSe... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。问题描述:
这里虽然加了
@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不生效怎么解决的详细内容,希望对您有所帮助,信息来源于网络。