java - 应用程序无法使用 @Async 注释启动

标签 java spring spring-boot asynchronous

我正在尝试在后台异步运行一个函数。为此,我正在尝试 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/

相关文章:

Spring Cache - 仅当 API 响应成功时才清除缓存

java - Spring Security 5.1.5 与 WebFlux 用户禁用不起作用

java - 基于动态构造函数值的 Spring bean 作用域

spring-mvc - 如何在不破坏 Spring Boot 配置的情况下启用矩阵变量支持?

java - 如何将键盘焦点保持在单个组件上?

java - 如何创建zookeeper认证机制?

java - AndroidManifest 不匹配

java - 从查询中填充 Jtable

hibernate - Spring boot + Hibernate - 用户未映射

java - Hystrix circuitBreaker.sleepWindowInMilliseconds 不工作