我想運行一個簡單的例子Apache Camel複製該文件從一個目錄複製到另一個:CamelContext.start()不阻止
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
public void configure() throws Exception {
from("file://c:/fromdir/").to("file://c:/todir/");
}
});
context.start();
如果我運行使用Apache的駱駝這個例子2.0.0退出程序在context.start();
之後立即執行任何操作。如果在CamelContext
開始之後添加Thread.sleep(30000);
,後臺線程將執行其工作,並將文件從源複製到目標目錄30秒。
但是,如果我使用Apache Camel 1.6.2運行相同的代碼,start()
方法會自動阻止,並且我不需要讓主線程進入睡眠狀態以便獲取文件複製。我沒有發現這種行爲從駝峯1.x變爲2.x的提示。這真的是預期的行爲嗎?是否有可能讓start()方法阻止Camel 2.0.0中的執行?在駱駝上下文
感謝
在Camel 2.2.0 start()中再次阻塞。你回到以前的行爲了嗎? – 2010-03-17 10:21:04
你能否提供Main方法的一個小例子...我從最近2天開始嘗試這個方法。但無法構建一個運行示例:( – 2011-05-05 18:11:10
請參閱:http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html – 2011-05-05 18:19:11