2017-02-21 3 views
0

私はjsutをバージョンアップしています。バージョン2.16.0より前に動作していた機能が壊れていましたが、以前はtoDefinitionのURIを取得できるようになっていましたプレースホルダを交換しました。これでアップグレードしましたが、プレースホルダを置き換えることはありません。Apache Camel getUri ToDefinitionバージョン2.16.0より

次のようにコードの例である:

<propertyPlaceholder id="properties" location="config.properties" /> 

<route> 
     <from uri="direct:input" /> 
     <to uri="mq:queue:{{MY_PLACEHOLDER}}" /> 
</route> 

config.properties

MY_PLACEHOLDER=FOO 

キャメルバージョン2.15.5

toDefinition.getUri() // equals mq:queue:FOO 

ラクダにましrsion 2.16.0

toDefinition.getUri() // equals mq:queue:{{MY_PLACEHOLDER}} 

任意のアイデア?

+0

取得あなたのラクダのバージョンが正しいのためのCamelContextのAPI、そのない15.5または16.0、その2.16.0、2.15があります。 5など –

答えて

1

はい、それはどのように意図されています。モデルは設計時のモデルです(この場合はプレースホルダー値を使用します)。

解決済みのURIは、Camelの起動時とルートの実行時です。ですから、そのURIを取り、解決するためにラクダを求めることができ、そのresolvePropertyPlaceholders

また

http://static.javadoc.io/org.apache.camel/camel-core/2.18.2/org/apache/camel/CamelContext.html#resolvePropertyPlaceholders-java.lang.String-