如何在链中使用自定义有效负载更丰富的bean

时间:2014-07-08 14:15:53

标签: spring-integration

我需要通过查找或计算一些值来对有效负载进行一些丰富,到目前为止,我有(看起来像一个解决方法)代码下面的代码工作正常,但有更好,更直接的方法来做到这一点,谢谢

看起来没有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>

1 个答案:

答案 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)。