Spring integration Spring集成出站通道适配器和数据库持久性

Spring integration Spring集成出站通道适配器和数据库持久性,spring-integration,Spring Integration,我正在开发一个应用程序,它使用出站通道适配器将消息发布到队列。有一个新的要求,即在消息处理过程中生成的唯一id应在队列上成功发布后保留到数据库中,而无需等待任何答复 有人能告诉我最好的方法是什么吗 这就是我现有应用程序中的内容 <int:gateway id="writerGateway" service-interface="CustomService" default-request-channel="writerChannel"> </int:gateway> &

我正在开发一个应用程序,它使用出站通道适配器将消息发布到队列。有一个新的要求,即在消息处理过程中生成的唯一id应在队列上成功发布后保留到数据库中,而无需等待任何答复

有人能告诉我最好的方法是什么吗

这就是我现有应用程序中的内容

<int:gateway id="writerGateway" service-interface="CustomService" default-request-channel="writerChannel">
</int:gateway>

<int-jms:outbound-channel-adapter channel="writerChannel" jms-template="jmsTemplate" destination-name="${queueName}" extract-payload="true"/>

<int:channel id="writerChannel">
    <int:interceptors>
        <int:wire-tap channel="writerLogger"/>
    </int:interceptors>
</int:channel>

<int:logging-channel-adapter id="writerLogger" logger-name="writerLogger" level="INFO" expression="'Sending ' + payload?.size() + ' events'"/>

任何帮助都将不胜感激

谢谢,
AK

制作
writerChannel
a
并向其订阅第二个流(
order=“2”
),例如
transformer->jdbc出站通道适配器。在jms适配器上设置
order=“1”
,如果jms发送成功,将调用第二个流


或者,按照建议使用

,我将writerChannel更改为publish-subscribe频道,然后使用。我在这里面临一个问题,因为原始负载被转换为XML。我可以使用claim check-in存储原始副本,但我不知道如何连接jms出站通道适配器和jdbc出站通道适配器,因为它们的输入消息有不同的通道。请不要重复已经回答的问题;最好重新开始。您可以使用标头enricher(
将有效负载的副本保存在标头中。稍后,您可以直接访问标头或使用转换器还原payloasd。