5

Camel Exchange でプロパティを設定し、ファイルを保存するときにこのプロパティを使用したいと考えています。私のキャメルDSLには次のものがあります:

.process(processorToSetExhangeProperty)  // sets the property <uid> on the exchange
.to("file:/tmp?fileName=file-" + property("uid") + ".xml")

ファイルは次のように保存されています。

"file-property{uid}.xml" though

私のプロセッサは次のとおりです。

@Override
public void process(Exchange exchange) throws Exception {
    UUID uuid = UUID.randomUUID();
    exchange.setProperty("uid", uuid.toString());
    exchange.setOut(exchange.getIn());
}

何がうまくいかないのか、どうすればこれを達成できるのかについて何か考えはありますか?

4

2 に答える 2

3

toCamelのは実行時に解釈されません。

URI を動的に構築する場合は、recipientList を使用する必要があります。https://camel.apache.org/manual/latest/faq/how-to-use-a-dynamic-uri-in-to.htmlを参照してください

于 2014-02-20T15:37:28.810 に答える
3

更新され た新しい回答は、この前の回答の代わりに上で受け入れられました:


答えは[だった]:

.to("file:/tmp?fileName=file-${property.uid}") + ".xml")

この単純な式は exchange プロパティを取り込みます。プルできるものの完全なリストについては、Simple Expression Language Referenceを参照してください。

于 2013-04-25T20:50:46.030 に答える