2016-08-10 17 views
1

私のルートには、交換ヘッダーからタイムアウト値を渡したいと思うHTTPコンポーネントがあります。 http://foo.com?httpClient.soTimeout=5000camel-http交換ヘッダーからのhttpclientタイムアウト

これをSpring DSLでどのように行うことができますか。残念ながら、ない、<to> DSLは、任意の交換が受信される前に、エンドポイントとプロデューサーを作成し、HTTPコンポーネントSO_TIMEOUTのために変更できるパラメータではないでしょう

<to uri="http://foo.com?httpClient.soTimeout=${in.headers.timeout}"/> 

答えて

1

のは、同じような何かを行うことが可能です実行時に(ここはa list of what you can changeです)。

キャメル2.16+をご使用の場合は、Dynamic To endpointで簡単に行うことができます。だろうあなたのケースでは:

<toD uri="http://foo.com?httpClient.soTimeout=${in.headers.timeout}"/> 

そうしないと、あなたはDynamic Recipient List EIPを使用する必要があります:

<setHeader headerName="theHeader"> 
    <simple>http://foo.com?httpClient.soTimeout=${in.headers.timeout}</simple>   
</setHeader> 
<recipientList> 
    <header>theHeader</header> 
</recipientList> 
+0

と私はExchange.Http_uriを使用している場合、それはまだ右に私のダミーのURIに置き換えられます? – SKR

+0

'to'、' toD'、または 'recipientList'のHTTPコンポーネントをどこに使用しても、動作は同じです。 –

+0

ありがとう。このようにタイムアウトを追加することができました。 – SKR