如何使用apache camel

时间:2016-04-05 09:25:23

标签: java apache-camel

import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;

public class ReadFileExample {
public static void main(String [] args) throws Exception{
    System.out.println("trying to copy file");
    CamelContext ctx = new DefaultCamelContext();
    RouteBuilder route = new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            from("file://Users/aranja2/Documents/in/?fileName=sample.txt&charset=utf-8")
             .to("file://Users/aranja2/Documents/out/?fileName=sample.txt&charset=utf-8");
        }
    };
    ctx.addRoutes(route);
    ctx.start();
    // Maybe sleep a little here
    // Thread.sleep(4000);
    ctx.stop();
 }
}

我正在使用骆驼来复制文件,但它没有发生。我正在使用mac。抛出的消息是

  

[main] INFO org.apache.camel.impl.DefaultCamelContext - Apache Camel   2.16.2(CamelContext:camel-1)正在启动[main] INFO org.apache.camel.management.ManagedManagementStrategy - 启用了JMX   [main] INFO org.apache.camel.impl.converter.DefaultTypeConverter -   加载183型转换器[主要] INFO   org.apache.camel.impl.DefaultRuntimeEndpointRegistry - 运行时   端点注册表处于扩展模式,收集使用统计信息   所有传入和传出端点(缓存限制:1000)[主要] INFO   org.apache.camel.impl.DefaultCamelContext - AllowUseOriginalMessage是   启用。如果不需要访问原始消息,那么它   建议关闭此选项,因为它可能会提高性能。   [main] INFO org.apache.camel.impl.DefaultCamelContext - StreamCaching   没有使用。如果使用流,则建议启用流   缓存。详情请见   http://camel.apache.org/stream-caching.html [主要] INFO   org.apache.camel.component.file.FileEndpoint - 已配置端点   noop = true所以强制端点也是幂等的[main]   INFO org.apache.camel.component.file.FileEndpoint - 使用默认值   基于内存的幂等存储库,缓存最大大小:1000 [main]   INFO org.apache.camel.impl.DefaultCamelContext - 路由:route1已启动   和消费:   端点[file:// Users / aranja2 / Documents / in /?noop = true] [main] INFO   org.apache.camel.impl.DefaultCamelContext - 共1条路线,其中1条   开始了。 [main] INFO org.apache.camel.impl.DefaultCamelContext -   Apache Camel 2.16.2(CamelContext:camel-1)在0.344秒内启动   [主要] INFO org.apache.camel.impl.DefaultCamelContext - Apache Camel   2.16.2(CamelContext:camel-1)正在关闭[main] INFO org.apache.camel.impl.DefaultShutdownStrategy - 开始优雅   关闭1路由(超时300秒)[Camel(camel-1)线程#1 -   ShutdownTask] INFO org.apache.camel.impl.DefaultShutdownStrategy -   路由:route1关闭完成,正在消耗:   端点[file:// Users / aranja2 / Documents / in /?noop = true] [main] INFO   org.apache.camel.impl.DefaultShutdownStrategy - 正常关闭1   路线在0秒内完成[主要] INFO   org.apache.camel.impl.DefaultCamelContext - Apache Camel 2.16.2   (CamelContext:camel-1)正常运行时间0.359秒[主要]信息   org.apache.camel.impl.DefaultCamelContext - Apache Camel 2.16.2   (CamelContext:camel-1)在0.007秒内关闭

1 个答案:

答案 0 :(得分:0)

您确定要访问//Users/aranja2/Documents/in/?fileName=sample.txt上的该目录吗?你溃败似乎没问题。我已经附加了一个示例项目,其中路由从一个目录复制到另一个目录。此诡计使用与您相同的参数 fileName 。你可以运行它 mvn camel:run

https://drive.google.com/file/d/0B9AooXd3hwFyWjZ4aEFRc0Znam8/view?usp=sharing

干杯!