我有一個如下的路由。停止apache.camel路由(RoutePolicy)
SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy();
policy.setRouteStartDate(new Date());
policy.setRouteStartRepeatInterval(1000);
from("file:data/in")
.routePolicy(policy)
.to("direct:validateInput")
.to("direct:changeInput")
.to("file:data/out");
因此,路線從輸入文件夾每秒鐘獲取一個文件。經過一些驗證並更改後,將其寫入輸出文件夾。
現在我想能夠關閉每一點的實際路線。所以如果在直接路由validateInput發生一些錯誤,以下兩個部分不應該被執行。
我可以用doTry()和doCatch()做到這一點,但這看起來很難看,也很難閱讀。
問題:是否可以在不停止路線完成的情況下停止主路線的循環?像這樣,實際的文件不會被打印到outfolder,但5秒鐘內的文件可以正常的方式處理。
創建一個新的進程並停止單獨的線程中的主要路徑不起作用。
的文件仍寫入日期/ OUT文件夾
路線停止完滿成功,並不會採取任何文件了。
是的,例外。我認爲這可能會進展順利。感謝提示。好簡單。爲什麼我沒有想到:( – David