2017-06-02 131 views
0

http://camel.apache.org/splitter.html [1]駱駝分配器商店CamelSplitSize,失敗

從[1]鏈路只見CamelSplitSize將在已完成的交易處理的行。

我學習駱駝,我想知道的是有可能的方式來分割包含100行的xml文件(假設100行)

如果分割在處理第50行的失敗,我們需要顯示CamelSplitIndex 50,CamelSplitSize 100和CamelSplitComplete假

.bean(Splitter.class,"saveFile("${camelContext.properties[mySplitSize]}, ${camelContext.properties[mySplitIndex]}, ${camelContext.properties[mySplitComplete]})") 

我無法找到一個方法來做到這一點爲[1]中明確指出CamelSplitSize只會在完成EXCHANG存儲的鏈接。任何方式來實現這一目標?

回答

0

如果您需要此屬性,您可以捕獲導致停止拆分並導致異常的交換的異常。在那裏你會找到你的屬性。

public void show(Exchange exchange) { 
    CamelExchangeException camelExceptionCaught = (CamelExchangeException) exchange.getProperty("CamelExceptionCaught"); 
    System.out.println(camelExceptionCaught.getExchange().getProperty("CamelSplitSize")); 
    System.out.println(camelExceptionCaught.getExchange().getProperty("CamelSplitComplete")); 
    System.out.println(camelExceptionCaught.getExchange().getProperty("CamelSplitIndex")); 
}