SpringIntegration和Reactive:试图理解约束



我们有一个SpringIntegration工作流,包含restful HTTP入站调用和出站调用。工作流主要用通道、链、拆分器和聚合器的XML声明来表示。

Servlet领域,我们使用http:inbound-gatewayhttp:outbound-gateway组件作为内部工作流的输入/输出。使用SpringBootautoconfigurationfor Tomcat/Jetty/Undertow,这似乎工作得很好。

我们一直在尝试Reactive领域,在相同的内部工作流程中使用webflux:inbound-gatewaywebflux:outbound-gateway组件。这似乎适用于tomcatjetty服务器,但没有得到netty的响应和undertow的一些错误。我还没有发现为什么我们从最后两个配置中得到错误。

我想知道的是,如果相同的内部工作流可以连接到reactiveservlet组件而不需要更改。我们确实使用了一个拆分器/聚合器,但是我阅读了关于WebFlux的SpringIntegration文档部分,并没有弄清楚这些结构是否可以同时用于这两个领域。(https://docs.spring.io/spring-integration/reference/html/reactive-streams.html#splitter-and-aggregator)

关于这个问题有什么建议吗?

webflux:inbound-gateway是HTTP协议的服务器端。必须在响应流HTTP服务器环境中使用。不确定关于Undertow和Jetty,但是Tomcat在模拟模式下工作。我通常使用io.projectreactor.netty:reactor-netty-http.

webflux:outbound-gateway是HTTP协议的客户端。它完全基于WebClient,在什么环境下使用并不重要。

同样适用于splitter和aggregator组件:它们不需要任何服务器实现,也不需要暴露任何外部端口来担心一些细节。可以简单地在响应式流定义和常规流中使用。

相关内容

  • 没有找到相关文章

最新更新