2013-10-04 131 views
0

我正在嘗試使用條件和分離器來實現路由。Apache Camel:當路徑添加到路徑時,路由環路會丟失

from("{{" + feed + ".downloadSource}}") 
      .routeId(feed) 
      .setProperty("workDirectory",simple("{{workDirectory}}")) 
      .setProperty("splitSize",simple("{{" + feed + ".splitSize}}")) 
      .setProperty("feedName", simple(feed)) 
      .setProperty("tableName",simple("{{" + feed + ".tableName}}")) 
      .setProperty("options", simple("{{" + feed + ".options}}")) 
      .setProperty("dateFormat", simple("{{" + feed + ".dateFormat}}")) 
      .setProperty("headerFormat", simple("{{" + feed + ".headerFormat}}")) 
      .setProperty("authenticateURL", simple("{{" + feed + ".authenticateURL}}")) 
      .setProperty("username", simple("{{" + feed + ".username}}")) 
      .setProperty("password", simple("{{" + feed + ".password}}")) 
      .loop(24) 
      .split(beanExpression(new APProcessor(), "getSplitProcessor")) 
      .process(APProcessor.getDownloadProcessor()) 
      .process(APProcessor.getNamingProcessor()) 
      .to("{{" + feed + ".downloadDestination}}") 
          .choice() 
       .when(simple("${property.CamelSplitComplete} == true")) 
       .process(APProcessor.getAggregatorProcessor()) 
       .process(new RSProcessor()) 
       .endChoice(); 

當該途徑在APProcessor方法getSplitProcessor當我檢索CamelLoopIndex執行它返回0每次。如果我刪除選擇塊,它執行得很好。我錯過了這個問題。需要幫忙。

回答

1

循環包括所有操作,直到第一次出現to。作爲解決方法,您可以將所有可重複操作移動到單獨的direct:路線中。

+0

好的。謝謝。一旦我測試它會進一步評論。 –

+0

太好了。這工作。非常感謝。 –