【发布时间】:2022-01-18 15:19:52
【问题描述】:
我正在使用带有 Spring Integration 的 Project Reactor 从 Kafka 读取并写入 MongoDB,我的 Kafka 使用效果很好,但 .handle(MongoDb.reactiveOutboundChannelAdapter(mongoFactory)) 卡住了。我已经看到这个函数的内部代码是new ReactiveMongoDbStoringMessageHandler(mongoFactory)),所以我尝试了以下方法(我有一个transform()方法,可以从ConsumerRecord转换为Mono<String>,带有@Transformer注解):
public IntegrationFlows writeToMongo() {
return IntegrationFlows.from(kafkaChannel)
.transform(this)
.handle(new ReactiveMongoDbStoringMessageHandler(mongoFactory))
.get();
}
代码遵循文档https://docs.spring.io/spring-integration/reference/html/mongodb.html#mongodb-reactive-channel-adapters。
我得到的错误是:
java.lang.IllegalArgumentException: Found ambiguous parameter type [class java.lang.Void] for method match: 然后是一长串函数。有什么原因会发生这种情况?
【问题讨论】:
标签: spring spring-integration project-reactor reactor-kafka spring-data-mongodb-reactive