基本框架

  • 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 {@Overridepublic 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

转载于:https://www.cnblogs.com/mh-study/p/10038359.html

Apache Camel,Spring Boot 实现文件复制,转移 (转)相关推荐

  1. apache camel 相关配置_Apache Camel Spring Boot

    Camel应用初始化 Apache Camel 采用的是组件化的设计思想,通过Camel Component对接第三方的应用,Camel核心模块会扫描classpath 加载这些Camel Compo ...

  2. spring boot 字体文件等静态资源无法获取

    spring boot 字体文件等静态资源无法获取 原因 原因maven打包时会过滤掉一些静态文件 解决办法 在pom.xml文件中配置静态资源过滤,然后再放行静态资源,这样就能让maven识别到那些 ...

  3. Spring boot yml文件的书写格式

    Spring boot yml文件的书写格式 使用ide 创建好spring boot文件格式后https://blog.csdn.net/weixin_42292697/article/detail ...

  4. 项目_功能模块_基于Spring Boot的文件上传下载功能的设计与实现

    文章目录 基于Spring Boot的文件上传下载功能模块的设计与实现 1.前言 2.技术栈 3.关键源码 4.实现效果 4.1.登录 4.2.文件列表 4.3.上传文件测试 4.3.1.测试图片 4 ...

  5. Spring Boot pom文件

    Spring Boot项目下的pom.xml文件主要用来存放依赖信息,具体代码如下(部分代码已省略): <?xml version="1.0" encoding=" ...

  6. springboot 上传文件解析入库_十五分钟用Spring Boot实现文件上传功能

    Spring Boot最好的学习方法就是实战训练,今天我们用很短的时间启动我们第一个Spring Boot应用,并且制作一个文件上传系统, 用户可以将本地文件上传到服务器上.我将假设读者为几乎零基础, ...

  7. JavaEE进阶 - Spring Boot 日志文件 - 细节狂魔

    文章目录 1.?志有什么?? 2.?志怎么?? 3.自定义日志打印 准备工作:创建一个 Spring Boot 项目,并在其中创建一个UserController类,用来演示. 在程序中得到?志对象 ...

  8. VUE+Spring Boot,文件上传el-upload报错--Current request is not a multipart request,记录

    做了个简单的文件上传功能,测试时发现报错Current request is not a multipart request,网上查了很多办法,记录一下: 1.最多的:当前请求不是multipart ...

  9. spring boot 日志文件配置(logback-spring.xml)亲测可用!

    问题描述:如何配置springboot项目,通过日志配置,使之输出自定义日志. 详细文章:https://blog.csdn.net/gebitan505/article/details/701421 ...

最新文章

  1. 我也转发一个关于特斯拉的文章
  2. matlab绘制y3=e (-x),MATLAB图形绘制-二维配套实验
  3. 【小知识点】解决Chrome动画”卡顿”的办法
  4. E1. Rubik‘s Cube Coloring (easy version) 贪心,满二叉树(1300)
  5. rstudio 修改代码间距_第一章 R和RStudio
  6. Docker完全自学手册
  7. 契约测试:解决微服务测试的问题
  8. Linux系统下matplotlib中文乱码解决办法
  9. Python实战项目(一)刷网页访问量程序
  10. 在shell脚本执行hbase命令
  11. 项目无法加载nacos配置中心的配置文件问题
  12. 文件夹怎么加密 怎么给文件夹加密
  13. 【HMS core】【Wallet Kit】【解决方案】华为钱包的客户端示例代码为何无法运行
  14. java程序启动打印_JAVA打印问题:程序正常运行,打印机无反应
  15. 如何做一个靠谱的产品经理
  16. C# 开发ModBus的服务器程序 实现ModBus数据总站 搭建自定义的Modbus服务器 同时支持tcp和rtu...
  17. Spark使用Java读Hive写入HBase
  18. 做邮件服务系统的一点心得
  19. item_get - 获得alibaba商品详情
  20. 2020-12-18:【黑盒测试用例设计】测试方法之场景法

热门文章

  1. excel亮灯怎么设置_EXCEL高手进,用EXCEL实现亮灯功能
  2. chat后缀域名_域名chat.fr和.de差价近30万元 后缀系主因?
  3. 从零开始创建react项目的三种方法(转)
  4. axios post,get,put
  5. 【java笔记】方法引用介绍和使用
  6. 【java笔记】类的抽象
  7. 怎么调用新建模型里文章的内容_读完这篇文章,再难的建筑模型你都能快速上手...
  8. ssm中ajax无反应,jquery + bootstrap(模态框romote) + click - ajax + SSM插入数据库没反应...
  9. mysql 插入前查重_插入新数据是直接查重,如果有重复则不插入数据
  10. Android替换view父节点,android – issue:指定的子节点已经有父节点.您必须首先在孩子的父母上调用removeView()...