java - 应用程序无法使用 @Async 注释启动
问题描述
我正在尝试在后台异步运行一个函数。为此,我正在尝试 Spring 的 @Async 注释,但在将此注释放在函数上后,我的应用程序无法启动。
我试过了
@EnableAsync(proxyTargetClass = true)
但仍然没有运气。
以下是我在应用程序启动时收到的消息。
应用程序无法启动
描述:
无法将 bean 'MyBatchSyncProcessor' 作为 'com.abcservice.MyBatchSyncProcessor' 注入,因为它是一个 JDK 动态代理,它实现了:com.abcservice.BaseSyncProcessor
行动:
考虑将 bean 作为其接口之一注入或通过在 @EnableAsync 和/或 @EnableCaching 上设置 proxyTargetClass=true 来强制使用基于 CGLib 的代理。
请帮助我启动并运行此应用程序。
解决方案
不要注入您的服务实现 ( MyBatchSyncProcessor
) - 注入它的接口BaseSyncProcessor
。
推荐阅读
- swift - 新窗口控制器无法正确响应
- reactjs - 如何在没有 node.js 的情况下使用“索环”?
- shopify - 如何将页面标题分离到它自己的 Liquid/shopify 组件中?
- ios - 创建 iOS Metal 纹理时 bytePerRow 值很奇怪
- c - 为什么 C 没有创建我的链表头?
- python - 爆破喇叭ffmpeg音效
- c# - LastWriteTime 和 LastAccessTime 有什么区别
- highcharts - highchart 服务器端向下钻取
- android - 将颜色渐变设置为直接在 XML 中绘制的形状
- java - 我创建了一个默认拨号器应用程序,但 ACTION_CALL 意图在某些设备上不起作用