java - 该 bean 无法作为 'Type' 注入(inject),因为它是实现 : reactor. fn.Consumer 的 JDK 动态代理

标签 java spring project-reactor

我使用 Reactor 2 的 Spring 4 应用程序无法启动:

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'orderHandlerConsumer' could not be injected as a 'fm.data.repository.OrderHandlerConsumer' because it is a JDK dynamic proxy that implements:
    reactor.fn.Consumer


Action:

Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching.

OrderHandlerConsumer 非常简单:

@Service
@Order(Ordered.HIGHEST_PRECEDENCE)
public class OrderHandlerConsumer implements Consumer<Event<OrderEnvelope>> {
    @Override
    public void accept(Event<OrderEnvelope> event) {
        event.getData().getLatch().countDown();
    }
}

有什么想法可能会出错吗?

最佳答案

在您将其定义为 Spring 应用程序的应用程序类文件中,在其下方添加。

@SpringBootApplication
@EnableCaching(proxyTargetClass = true)

关于java - 该 bean 无法作为 'Type' 注入(inject),因为它是实现 : reactor. fn.Consumer 的 JDK 动态代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45124660/

相关文章:

java - 在RelativeLayout中设置imageView的背景

java - Clojure http 客户端库的优缺点

java - 防止 & 符号转换为 &

java - 事务未准备好 (ActiveMQ), "the XA resource has become unavailable"(Atomikos),日志中无休止的异常

spring-webflux - RSocket + webflux 请求-响应弹性

java - 如何使用 Reactor 的 StepVerifier 来验证 Mono 是否为空?

java - 为 Android 应用程序绘制自定义标签栏

java - 'table.column' 中的未知列 'field list'

java - 使用带有 JDBC Bolt 驱动程序的 Neo4j 嵌入式数据库进行 Spring Boot 测试

java - Flux.concatMapIterable 和 Flux.flatMapIterable 有什么区别?