Spring集成|如何在使用HTTP出站网关时保留消息上下文?

时间:2013-03-26 14:40:27

标签: database rest spring-integration

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

我打算为此目的使用HTTP出站网关。现在的问题是,在我将对象(消息的有效负载)转换为JSON格式之后,在我将其传输到端点之前,应将有效负载丢弃到数据库中,以便在端点不可用时调用可以是重试。

我想 a)在呼叫之后相应地设置状态 b)更新    具有来自REST端点的uuid的相应行

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

1 个答案:

答案 0 :(得分:0)

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

请参阅'Adding Behavior to Endpoints'

,特别是'Custom Advice Classes'