2016-05-05 8 views
0

Bean統合からのメソッド呼び出しに基づいてヘッダーを設定する際に必要なヘルプ。 私のアプリケーション内で私はカスタムPOJOを使用していますが、私は実際にワイヤでメッセージを送信する前に、交換のヘッダーを設定していますが、私のbean内でそれをやりたいのではなく、そのルートには春のDSLが書かれています。 私は、通常、メソッドから返された値がメッセージの本文として次のエンドポイントに送信されることを知っていますが、ヘッダーとして返された値を送信したいと思います。 私は私のルートのサンプルがあることが必要取り付けられており、希望している:ラクダルートでBean統合メソッド呼び出しからヘッダーを設定する方法

<route id="someRoute"> 
<from ref="InboundAsyncEndpoint" /> 
<to uri="bean:validatorBean?method=validateMessageInternals(MyCostomMessagePojo obj)" /> 
<choice> 
    <when> 
     <simple> 
      ${body.getMetaData().getFinalDestinationName()} == 'AMQEndpoint' 
     </simple> 
     <to uri="bean:payloadAndHeaderExtractor?extractHeader(MyCostomMessagePojo obj)" /> 
     <to uri="bean:payloadAndHeaderExtractor?extractPayload(MyCostomMessagePojo obj)" /> <!-- i want the headers being set on the exchange from the map that is returnd from the previous bean and method --> 
     <to uri="activemq:someQueue" 
    </when> 
    <otherwise> 
     ... 
     ... 
    </otherwise> 
</choice> 

答えて

0

あなたは次のようにそれを行うことができます。

<setHeader headerName="YOUR_HEADER"> 
    <simple>bean:payloadAndHeaderExtractor?extractHeader(MyCostomMessagePojo obj)</simple> 
</setHeader> 

・ホープ、このことができます。

R.

関連する問題