我正在尝试在后台异步运行一个函数。为此,我正在尝试 Spring 的 @Async 注释,但是在将这个注释放在函数上后,我的应用程序无法启动。
我试过
@EnableAsync(proxyTargetClass = true)
但仍然没有运气。
以下是我在应用程序启动时收到的消息。
应用程序无法启动
描述:
bean 'MyBatchSyncProcessor' 不能作为 'com.a.b.c.service.MyBatchSyncProcessor' 注入(inject),因为它是一个 JDK 动态代理,它实现:
com.a.b.c.service.BaseSyncProcessor
行动:
考虑将 bean 作为其接口(interface)之一注入(inject),或者通过在 @EnableAsync 和/或 @EnableCaching 上设置 proxyTargetClass=true 来强制使用基于 CGLib 的代理。
请帮助我启动并运行此应用程序。
最佳答案
不要注入(inject)你的服务实现( MyBatchSyncProcessor
)——注入(inject)它的接口(interface) BaseSyncProcessor
.
关于java - 应用程序无法使用 @Async 注释启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50787953/