2012-12-26 20 views
5

Czy można ustawić nagłówek wiadomości na wartość odczytaną z pliku właściwości, używając wielbłąda Właściwości Komponent? Mogę ustawić takie właściwości na opcje URI, ale nie mogę ustawić ich jako wartości nagłówka.Jak ustawić nagłówek do wartości z pliku właściwości w Apache Camel

muszę coś takiego:

<camel:setHeader headerName="actionId"> 
    <camel:constant>{{onus.transPosting.RtSFailed}}</camel:constant> 
</camel:setHeader> 

gdzie onus.transPosting.RtSFailed jest kluczowym nieruchomość ustawiony na importowany plik używając wielbłąda właściwości komponentu.

Uwaga: Używam Apache Camel 2.10.1

UPDATE

Używanie <propertyPlaceholder> jak sugeruje this discussion nie działa i powoduje wyjątek:

Caused by: org.apache.camel.language.simple.types.SimpleParserException: Unknown function: onus.transPosting.RtSFailed

+0

' $ {onus.transPosting.RtsFailed}' nie działa? (Tak dobre, jak bez doświadczenia z Apache Camel) –

+0

nie, nie :( –

+0

Zobacz dyskusję: http://camel.465427.n5.nabble.com/using-values-from-a-properties-file-in -setHeader-method-td5154287.html –

Odpowiedz

7

Tak, możesz, użyj prostego języka, który ma funkcję właściwości: http://camel.apache.org/simple

<camel:setHeader headerName="actionId"> 
    <camel:simple>${properties:onus.transPosting.RtSFailed}</camel:simple> 
</camel:setHeader> 

Choć myślę, że mają stałe w ostatni Camel uwalnia że < wielbłąd: constant> rozwiąże zastępcze własności, jak również.

+1

Mój zły, powinienem był wspomnieć, jakiego wydania używam, zaktualizowałem to pytanie odpowiednio. W każdym razie, prosta funkcja właściwości działała dla mnie . Dziękuję Ci bardzo :) –