我正在尝试使用Apache camel进行简单的目录监听,并通过ftp将文件上传到外部位置。我是新人。
我可以使用此脚本将文件从一个目录移动到另一个目录。所以我觉得我已经走了一半。我现在正在努力将它从一个目录移动到ftp服务器目录。我已经用ftp客户端测试了ftp连接,一切正常。
当我运行它时,它将文件移动到名为“.camel”的目录中,但不上传它?它没有输出任何错误?我不确定输出或查看日志到终端,所以我可以查看出了什么问题?我是否需要包含某种.process()?
Main.class
public class Main {
public static void main(String[] args) throws Exception{
CamelContext camelContext = new DefaultCamelContext();
camelContext.addRoutes(new MoveFileRoute());
camelContext.start();
Thread.sleep(10000);
camelContext.stop();
}
}
MoveFileToRoute
public class MoveFileRoute extends RouteBuilder {
@Override
public void configure() throws Exception{
from("file://C:\\test")
.choice()
.when(simple("${in.header.CamelFileName} contains '*.xlsx'"))
.to("ftp://rob@10.171.16.100/home/rob/test/?password=rob")
.otherwise()
.to("log://org.apache.camel.howto?showAll=true&level=DEBUG");
}
}
答案 0 :(得分:2)
想出来......
.when(simple("${in.header.CamelFileName} contains '*.xlsx'"))
此行上的*
会破坏它..
在这里回答
public class MoveFileRoute extends RouteBuilder {
@Override
public void configure() throws Exception{
from("file://C:\\test")
.choice()
.when(simple("${in.header.CamelFileName} contains '.xlsx'"))
.to("ftp://rob@10.171.16.100:21/test?password=rob")
.otherwise()
.to("log://org.apache.camel.howto?showAll=true&level=DEBUG");
}
}
我仍然没有想出如何查看日志。