我成功后
Camel first experience我遇到了另一个问题:我无法让Processor
工作。这是代码:
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")
.process(new Processor() {
@Override
public void process(Exchange arg0) throws Exception {
System.out.println("file: "+((File)arg0.getIn().getBody()).getAbsolutePath());
}
})
.to("file:///Users/Foo/Desktop/OUT");
});
}
cc.start();
Thread.sleep(10000);
cc.stop();
}
我无法理解为什么处理程序的消息永远不会出现在stdout
中。
答案 0 :(得分:1)
获取绝对文件名和文件内容:
from("file:///Users/Foo/Desktop/IN")
.process(new Processor() {
@Override
public void process(Exchange arg0) throws Exception {
String filename = arg0.getIn().getHeader("CamelFileAbsolutePath", String.class);
System.out.println("file: " + filename);
String contents = arg0.getIn().getBody(String.class);
System.out.println("contents: " + contents);
}
})
.to("file:///Users/Foo/Desktop/OUT");