【问题标题】:Spring Cloud DataFlow for HTTP request/response exchange用于 HTTP 请求/响应交换的 Spring Cloud DataFlow
【发布时间】:2017-04-09 13:11:49
【问题描述】:

我想使用流来处理 HTTP 请求/响应交换。我没有看到任何具有 HTTP 接收器功能的 Spring Cloud Stream App Starters。我需要构建一个自定义接收器来处理响应吗?如果是这样,我是否通过我的处理管道传递请求,然后使用我的接收器中的请求来形成响应?我不认为我误解了 Spring Cloud DataFlow 和 Spring Cloud Stream 的用例。也许有适用于这种模式的应用启动器。

【问题讨论】:

    标签: spring spring-cloud-stream spring-cloud-dataflow


    【解决方案1】:

    Spring Cloud Stream/Dataflow 用于单向(流)处理;它不适用于请求/回复处理。

    但是,您可以使用来自 Spring 集成应用程序的 Stream;例如,使用rabbitmq binder...

    http-inbound-gateway -> amqp-outbound-gateway
    

    出站网关配置为期望来自特定队列的回复,然后您的流可能是...

    :requestQueue > processor1 | ... | processorn > :replyQueue
    

    Spring Integration 目前没有用于 Kafka 的出站网关。我打开了an issue

    【讨论】:

    • 感谢您花时间回答我的问题,Gary。 spring-cloud-data-flow-samples 存储库中的 HTTP to MySQL Demo 非常接近我的想法,但是如果出现验证错误,似乎没有明显的方法来通知请求者出了点问题。
    • 它并不是真正的“关闭”,因为它是一个单向管道。正如我所说,您需要从网关调用流才能获得回复;为了处理错误,管道中的每个阶段都必须配置为将异常发送到“回复”通道。现在需要一些编码;我们正在努力改进错误处理故事。
    猜你喜欢
    • 1970-01-01
    • 2018-11-17
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2022-10-24
    • 2011-09-18
    相关资源
    最近更新 更多