zoukankan      html  css  js  c++  java
  • Apache Camel,Spring Boot 实现文件复制,转移 (转)

    基本框架

    • Apache Camel

    • Spring Boot

    • Maven

    开发过程

    1.新建一个POM(quickstart)项目,在POM文件中添加Camel和Spring Boot的依赖

    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.4.1.RELEASE</version>
    </parent>
    <dependencies>
    <dependency> 
     <groupId>org.apache.camel</groupId> 
     <artifactId>camel-spring-boot-starter</artifactId> 
     <version>2.18.1</version>
    </dependency>
    </dependencies>

    2.新建Application.java 启动类

    @SpringBootApplication
    public class Application{
        public static void main(String[] args) {
              final ApplicationContext context = new SpringApplication(Application.class).run(args);
              final CamelSpringBootApplicationController controller = context.getBean(CamelSpringBootApplicationController.class);
              controller.run();
        }
    }

    3.新建RouteBuilder.java 消息路由

    @Component
    public class RouteBuilder extends SpringRouteBuilder {
    
        @Override
        public void configure() throws Exception {
             from("file:C:/Temp/inbox").to("file:C:/Temp/outbox");
        }
    }

    4.启动Application的main函数,C:/Temp/inbox下的文件将会被自动拷贝到C:/Temp/outbox,camel会一直监控inbox文件夹,一旦有新文件出现,就会被立即拷贝到outbox。
    5.更多高级应用的参数配置

    • 处理完的文件移动到C:/Temp/inbox/.done 目录中,进行备份,不指定的话,会默认备份至C:/Temp/inbox/.camel
      from("file:C:/Temp/inbox?move=.done").to("file:C:/Temp/outbox");
    • 删除处理完成的文件
      from("file:C:/Temp/inbox?delete=true").to("file:C:/Temp/outbox");
    • 处理中的文件单独放在一个文件夹,文件第一步从inbox移动到inprogress,处理完成之后,再移动到.done
      from("file:C:/Temp/inbox?preMove=inprogress&move=.done").to("file:C:/Temp/outbox");
    • 按日期备份处理完的文件
      from("file:C:/Temp/inbox?move=backup/${date:now:yyyyMMdd}/${file:name}").to("file:C:/Temp/outbox");
    • 记录处理失败的文件
      moveFailed=/error/${file:name.noext}-${date:now:yyyyMMddHHmmssSSS}.${file:ext}

     转载至:https://www.jianshu.com/p/3e505db9cd63

  • 相关阅读:
    拦截器接口(IActionFilter,IExceptionFilter,IResultFilter,IAuthorizationFilter)
    Linq学习
    keycode值大全
    C#使用Cookie方法
    领域驱动设计学习
    mvc3 razor语法学习
    O/R Mapping 阻抗失衡
    文档格式批量转换(doc,txt,pdf等)
    统计sql语句
    如何确定文件编码格式的方法??
  • 原文地址:https://www.cnblogs.com/mh-study/p/10038359.html
Copyright © 2011-2022 走看看