【问题标题】:Spring integration | How to preserve message context when using HTTP outbound gateway?弹簧集成 |使用 HTTP 出站网关时如何保留消息上下文?
【发布时间】:2013-03-26 14:40:26
【问题描述】:

我需要将 JSON 结构发布到 REST 端点并处理它返回的数据(所有这些都使用 JSON)。

我计划为此使用 HTTP 出站网关。现在的问题是,在我将我的对象(消息的有效负载)转换为 JSON 格式之后,在我将其传输到端点之前,有效负载应该被放入数据库中,以便在端点不可用的情况下可以调用重试。

如我所愿 a) 在通话后相应地设置状态`
b) 更新 具有来自 REST 端点的 uuid 的相应行

我需要以某种方式将来自我的对象(业务密钥)的 uuid 作为出站消息的一部分与放置在回复通道上的 REST 端点的响应相关联。由于我不能要求提供商将我的 uuid 作为响应的一部分返回,我如何才能纯粹在客户端实现这一点?

【问题讨论】:

  • 你能把它存储在邮件头中吗? AFAIK 出站网关将标头从放置在请求通道上的消息复制到放置在回复通道上的消息。还是有什么原因你不想使用标题?

标签: database rest spring-integration


【解决方案1】:

您可以使用request-handler-advice-chain 向出站端点添加自定义建议。简单地继承AbstractRequestHandlerAdvice。它实际上是一个“环绕”建议,因此您可以在调用处理程序之前将其存储在数据库中并在之后更新状态。

'Adding Behavior to Endpoints'

特别是'Custom Advice Classes'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    相关资源
    最近更新 更多