Spring integration Spring集成|反应流支持|在创建反应消息网关时出现异常

Spring integration Spring集成|反应流支持|在创建反应消息网关时出现异常,spring-integration,reactive-streams,Spring Integration,Reactive Streams,我正在尝试在我现有的一个应用程序中升级spring集成流,并提供反应流支持。所采取的方法是将网关方法的参数和返回类型更改为Mono。流平稳执行,当回复到达网关时,它会导致java.lang.IllegalArgumentException:“beanFactory”不能为null 我使用的是SpringBoot2.3.0 inputChannel是一个DirectChannel gatewayReplyChannel是FluxMessageChannel 有人能帮忙吗?必须修复Messaging

我正在尝试在我现有的一个应用程序中升级spring集成流,并提供反应流支持。所采取的方法是将网关方法的参数和返回类型更改为Mono。流平稳执行,当回复到达网关时,它会导致java.lang.IllegalArgumentException:“beanFactory”不能为null

我使用的是SpringBoot2.3.0

inputChannel是一个DirectChannel

gatewayReplyChannel是FluxMessageChannel


有人能帮忙吗?

必须修复MessagingGatewaySupport.RegisterReplymessageCorrelatoriNecessary()才能调用
endpoint.setBeanFactory(beanFactory)反应流消费者的code>。显然,我们没有一个测试用例将
replyChannel
作为
FluxMessageChannel
来覆盖


请考虑根本不要将该
回复频道
用作解决方法。对于这种流来说,这实际上并不重要:它已经被
Mono
返回类型所反应。没有理由为了回复相关性而在内部切换到其他反应流。

谢谢!它通过删除Gateway.Ok中定义的replyChannel起作用。我很快会推动修复,你告诉我你是否可以接受答案这是修复:。请考虑接受这个答案:
@MessagingGateway(name = "reactiveGateway")
public interface EntryGate {

    @Gateway(requestChannel = "inputChannel", replyChannel = "gatewayReplyChannel")
    Mono<String> process(final Mono<String> input);

}
Caused by: java.lang.IllegalArgumentException: 'beanFactory' must not be null
    at org.springframework.util.Assert.notNull(Assert.java:198)
    at org.springframework.integration.channel.ChannelUtils.getErrorHandler(ChannelUtils.java:51)
    at org.springframework.integration.endpoint.ReactiveStreamsConsumer.onInit(ReactiveStreamsConsumer.java:155)
    at org.springframework.integration.context.IntegrationObjectSupport.afterPropertiesSet(IntegrationObjectSupport.java:214)
    at org.springframework.integration.gateway.MessagingGatewaySupport.registerReplyMessageCorrelatorIfNecessary(MessagingGatewaySupport.java:806)
    at org.springframework.integration.gateway.MessagingGatewaySupport.sendAndReceiveMessageReactive(MessagingGatewaySupport.java:609)
    at org.springframework.integration.gateway.GatewayProxyFactoryBean.sendOrSendAndReceive(GatewayProxyFactoryBean.java:639)
    at org.springframework.integration.gateway.GatewayProxyFactoryBean.invokeGatewayMethod(GatewayProxyFactoryBean.java:573)