Spring integration 如何将直接通道的消息负载复制到网关中的恢复通道?

Spring integration 如何将直接通道的消息负载复制到网关中的恢复通道?,spring-integration,Spring Integration,我有一个“datachannel”,它使用入站通道适配器从DB获取结果集。 这里我从数据库中得到一个名为“process_id”的字段。通过int:http出站网关调用外部系统后,我定义了一个恢复通道。我只想对该进程\u id执行更新查询。但我无法在恢复通道中获取该进程id。获取的异常属性“payload[process\u id]”无效。是否仍要将该进程\u id传递到恢复通道,以便我可以像这样在恢复通道中执行更新查询 int jdbc:outbound channel adapter que

我有一个“datachannel”,它使用入站通道适配器从DB获取结果集。 这里我从数据库中得到一个名为“process_id”的字段。通过int:http出站网关调用外部系统后,我定义了一个恢复通道。我只想对该进程\u id执行更新查询。但我无法在恢复通道中获取该进程id。获取的异常属性“payload[process\u id]”无效。是否仍要将该进程\u id传递到恢复通道,以便我可以像这样在恢复通道中执行更新查询

int jdbc:outbound channel adapter query=“update TBL\u receivement set receivement\u status=1 其中进程id位于(:有效负载[进程id])“数据源=“数据源”通道=“错误”/>

为清楚起见,下面是spring集成xml配置


恢复频道收到一条
错误消息
。有效负载是一个具有两个属性的
MessaginException
,分别是
failedMessage
cause


使用
payload.failedMessage.payload[process\u id]

你就是那个人!这是一个魅力。一个疑问:这是我的流程..数据通道->tpgrequestchannel->tpgressponsechannel->错误…你能告诉我,即使在我的“错误”中,我是如何访问进程id的吗?我不确定你的新问题是什么,因为你说了我刚才告诉你的话。它起作用了。我问它只是想知道。我是如何在我的恢复通道中获得进程id的。只是想了解一下…请查看
错误消息
;它的有效负载是一个带有原因的
消息异常
,以及
失败消息
——这是您的原始消息。因此
payload.failedMessage.payload[进程id]
。您还可以添加一个转换器
expression=“payload.failedMessage”
来丢弃异常,然后您可以使用原始代码
payload[process\u id]
.Great..:)我没有看到在我只重试web服务调用的情况下发生3次重试。您能看看我的配置是否错误吗?我是否应该单独提问?