Java 如何在另一个具有异步方法的类中自动连接具有异步方法的类
我有一个实现EmailService的类EmailServiceImpl和另一个实现ReportService的类ReportServiceImpl。这两个接口都用@enablesync注释,因此有些方法使用@Async注释 我使用默认的spring任务执行器 我无法在ReportService中自动连接电子邮件服务Java 如何在另一个具有异步方法的类中自动连接具有异步方法的类,java,spring,spring-async,Java,Spring,Spring Async,我有一个实现EmailService的类EmailServiceImpl和另一个实现ReportService的类ReportServiceImpl。这两个接口都用@enablesync注释,因此有些方法使用@Async注释 我使用默认的spring任务执行器 我无法在ReportService中自动连接电子邮件服务 它现在工作了,我使用applicationcontext.getBean(“beanName”)方法来获取bean,而不是@Autowired。它现在工作了,我使用applicat
它现在工作了,我使用applicationcontext.getBean(“beanName”)方法来获取bean,而不是@Autowired。它现在工作了,我使用applicationcontext.getBean(“beanName”)方法来获取bean,而不是@Autowired。。异步和自动连线不应该互相关心。您不需要两次启用异步支持,但这也不应该是问题所在。我不会两次启用异步,但spring默认情况下会创建异步方法的代理,我无法绕过它。当然,Async和Autowired并不相互关心,当我试图在另一个代理类中自动连接一个已经代理的类时,问题就出现了。“两个接口都用@enablesync注释”?无论如何,您是否有针对该问题的stacktrace或错误消息?代理类没有理由不能自动连接到其他代理类:您是否阅读了
@EnableAsync
的文档?它表示注释需要在@Configuration
类上使用,而不是在接口上使用。我已经添加了Stacktrace屏幕快照Stacktrace pls。异步和自动连线不应该互相关心。您不需要两次启用异步支持,但这也不应该是问题所在。我不会两次启用异步,但spring默认情况下会创建异步方法的代理,我无法绕过它。当然,Async和Autowired并不相互关心,当我试图在另一个代理类中自动连接一个已经代理的类时,问题就出现了。“两个接口都用@enablesync注释”?无论如何,您是否有针对该问题的stacktrace或错误消息?代理类没有理由不能自动连接到其他代理类:您是否阅读了@EnableAsync
的文档?它表示注释需要在@Configuration
类上使用,而不是在接口上使用。我添加了Stacktrace屏幕截图