我对阿帕奇骆驼很陌生。我不能让最简单的骆驼例子起作用。以下是代码:
public class CamelFE {
public static void main(String[] args) {
CamelContext cc = new DefaultCamelContext();
cc.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
System.out.println("Go!");
from("file://Users/Foo/Desktop/IN")
.to("file://Users/Foo/Desktop/OUT");
});
}
cc.start();
cc.stop();
}这两个目录都存在,在from中有一个简单的文件,helo.txt。路由启动并显示Go!消息,但没有将任何文件移动到to目录。我遗漏了什么?
编辑:这是控制台输出。SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4j: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details Go!
发布于 2014-11-18 17:01:58
我猜您使用的是Windows,因为您有对Users/.../Desktop的引用。如果是这样的话,您的文件语法就会稍微变差。而不是file://Users/Foo/Desktop,您应该拥有file:///Users/Foo/Desktop。
您还需要在应用程序终止之前为处理留出足够的时间。您可以添加一个Thread.sleep。请注意,在web应用程序中,这不会是一个问题,因为应用程序保持运行。
public class CamelFE {
public static void main(String[] args) throws Exception {
CamelContext cc = new DefaultCamelContext();
cc.addRoutes(new RouteBuilder()
{
@Override
public void configure() throws Exception {
System.out.println("Go!");
from("file:///Users/Foo/Desktop/IN").to("file:///Users/Foo/Desktop/OUT");
}
});
cc.start();
Thread.sleep(10000);
cc.stop();
}
}https://stackoverflow.com/questions/26998659
复制相似问题