gpt4 book ai didi

java - CamelContext.start() 不会阻塞

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:31 25 4
gpt4 key购买 nike

我想运行一个简单的 Apache Camel将文件从一个目录复制到另一个目录的示例:

CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {

public void configure () throws Exception {
from("file://c:/fromdir/").to("file://c:/todir/");
}
});
context.start();

如果我使用 Apache Camel 2.0.0 运行此示例,程序会在 context.start(); 之后立即退出,并且什么都不做。如果我在 CamelContext 开始后添加 Thread.sleep(30000);,后台线程会完成它们的工作,并且文件会从源目录复制到目标目录 30秒。

但是,如果我使用 Apache Camel 1.6.2 运行相同的代码,start() 方法会自动阻塞,我不需要让主线程 hibernate 来复制文件.我还没有发现此行为从 Camel 1.x 更改为 2.x 的提示。这真的是预期的行为吗?是否可以让 start() 方法在 Camel 2.0.0 中阻止执行?

谢谢

最佳答案

或者你可以添加

Thread.currentThread().join();

在 context.start() 之后;

关于java - CamelContext.start() 不会阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1846791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com