我正在学习SI 3.0。有一个流将原始有效负载转换为XML字符串,然后在队列中发布。在队列上成功发布后,需要将一些必需的信息保留到数据库中。所以我需要检索原始有效负载并保持不变。我可以用来存储对象。在这种情况下,最好的方法是使用它来保存数据。
<int:chain input-channel="inceptionProcessorChannel">
<int:transformer expression="payload.sbl"/>
<int:transformer ref="sblOutputTranslator" method="convert"/>
<int:transformer ref="sblToXml" method="doTransform"/>
</int:chain>
我不想将有效负载存储在标头中,因为它是一个沉重的对象。
提前致谢,
答案 0 :(得分:0)
它只是一个参考,所以我不确定你为什么担心将它保留为标题(除非你持久留言或通过网络传输它)。
添加
<int:header-enricher>
<int:header name="saveIt" expression="payload" />
</int:header-enricher>
到您的连锁店。
您可以将其存储在其他位置(例如,通过调用服务激活器)并稍后检索它,但它在功能上(和内存方式)与在标头中保留对原始有效负载的引用没有什么不同。 / p>