我正在使用带有 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:
然后是很长的函数列表。有什么理由会发生这种情况?