我使用 apache Camel 来监控我的文件系统 我使用以下路线:
public class FsRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
while(true){
FsProcessor processor = new FsProcessor();
from("file:C:\\Users\\My_User_Name\\Documents\\TRAX_PAYMENTS\\KBC?noop=true&idempotent=false").process(processor);
}
}
}
该路由调用以下处理器
public class FsProcessor implements Processor {
public void process(Exchange exchange) throws Exception {}
}
现在我想做的是获取交换的路径。这是因为我想监视它并且路径是唯一的键。是否有属性或方法可以获取交换路径?
最佳答案
您可以从处理器获取文件路径,如图所示
public class FsProcessor implements Processor {
public void process(Exchange exchange) throws Exception {
File file = exchange.getIn().getBody(File.class);
String path = file.getPath();
}
}
它使用Camel的类型转换器,
因此,如果您希望文件的内容为 byte[] 或 String,您可以这样做
String data = exchange.getIn().getBody(String.class);
关于java - Apache Camel 获取交换路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29340983/