我需要通过查找或计算一些值来对有效负载进行一些丰富,到目前为止,我有(看起来像一个解决方法)代码下面的代码工作正常,但有更好,更直接的方法来做到这一点,谢谢
看起来没有method="lookup" ref="lookupBean"
可用于有效载荷丰富的similair到我们的标题丰富,我可能是无知的。
<int:chain input-channel="someInputChannel">
<int:splitter ref="spl"/>
<int:filter ref="flb" method="filter" discard-channel="rejectedChannel" />
<int:transformer ref="transformer"/>
<int:header-enricher>
<int:header name="lookUpData" method="lookup" ref="lookupBean"/>
</int:header-enricher>
<int:enricher>
<int:property name="masterId" expression="headers[lookUpData]"/>
</int:enricher>
<int:service-activator ref="updateAdapter" method="updateRecords"/>
<int:outbound-channel-adapter ref="notifierAdapter" method="notifyUpdate"/>
</int:chain>
答案 0 :(得分:3)
使用SpEL:
<int:enricher>
<int:property name="masterId" expression="@lookupBean.lookup(#root)" />
</int:enricher>
或
<int:enricher>
<int:property name="masterId" expression="@lookupBean.lookup(payload)" />
</int:enricher>
如果你只需要有效载荷(这意味着你的查找可以是一个不与框架绑定的POJO)。