我想在駱駝交易所上設置一個屬性,然後在保存文件時使用這個屬性。在我的駱駝DSL我有以下幾點:使用駱駝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());
}
什麼可能去的任何想法錯了,或者我怎麼能做到這一點?
這是部分錯誤的:正如V.Goldin所說,在構建路由過程中會評估to()組件。 在你的情況下,它的工作原理部分是因爲uid可能只計算一次。 如果您在多封郵件後檢查您的uid,您應該注意到它可能永遠不會更改。 – 2014-12-01 17:47:36