首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >camel -处理后移动到文件夹

camel -处理后移动到文件夹
EN

Stack Overflow用户
提问于 2020-07-02 06:52:59
回答 1查看 201关注 0票数 0

我正在工作的代码,轮询SFTP文件夹,并处理他们一个接一个,然后移动到一个成功的文件夹,一旦它完成。我们运行这个camel实例超过1。为了通过一个实例处理文件,我们有一个DB检查,比如一旦camel实例获取文件,它就会创建一个标记记录,而任何其他实例选择该文件时,它将检查此标记记录并跳过该过程。因此,我们创建了一个自定义异常,如在处理器中可用的Markerdocument,它将处理该异常。此标记异常将在全局中处理,我们将它们标记为已处理“真”,以便文件不会被移动到/ERROR文件夹。现在的问题是,由于我们正在处理它,路由进程认为它已成功处理,并将文件夹移动到我们不想要的/success,这将由实际的记录处理camel实例处理。我们如何做到这一点呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onException(MarkerDocumentExistsException.class)
        .process("routeExceptionProcessor")
        .log("Marker document available so continue next message processing... ")
        .handled(true)
        .stop();    
        onException(Exception.class)
        .process("routeExceptionProcessor")
        .log("Nothing to do here, move the file to error folder... ")
        .redeliveryDelay(2000)
        .stop();
    from(getSftpOptions())
        .routeId("sftp-Route")
        .throttle(Integer.parseInt(appProp.throttleCount))
        .timePeriodMillis(1000*60)
        .onCompletion()
        .onCompleteOnly()
            .process("routeCompleteProcessor")
            .log("Route processing is Completed : ${header.CamelFileNameOnly}")
            .end()
        .log("Starting the file process: ${header.CamelFileNameOnly}")
        .process("routeCBCheckProcessor")
        .unmarshal().gzipDeflater()
        .split(body().tokenizeXML("example", "*"),new SimpleStringAggregator()).streaming()
            .parallelProcessing(true)
            .process("lineProcessor")
        .end()
        .log("aggregate is completed :${header.CamelFileNameOnly}")
EN

回答 1

Stack Overflow用户

发布于 2020-07-03 05:35:28

那么,您开始构建一个具有幂等存储库的幂等文件消费者。

您是否尝试过使用built-in idempotent file consumer of Camel (包含可选存储库)?

我认为这也适用于SFTP,因为该组件具有idempotent选项,并且SFTP组件是文件组件的扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62690577

复制
相关文章
Windows 文件管理 | 利用批处理实现一键将同名文件移动到对应文件夹
2023/10/18
4930
Windows 文件管理 | 利用批处理实现一键将同名文件移动到对应文件夹
Windows 文件管理 | 利用批处理实现一键将同名文件移动到对应文件夹
利用 for 语句提取文件名, 并利用 md 命令新建同名文件夹, 利用 move 命令将同名不同格式移动到同名文件夹中
怪兽
2022/10/04
1.2K0
Flowable实战-Camel使用「建议收藏」
本博客将讨论了如何在Flowable 6.4.1中安装和使用Camel。 希望在阅读此博客后,您将能够设置Flowable Task应用程序,以允许用户运行可以通过Camel路由与其他应用程序集成Flowable。 此博客使用Flowable Camel模块中的示例。
全栈程序员站长
2022/08/31
2.8K0
Flowable实战-Camel使用「建议收藏」
C语言 | 顺序向后移动
这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。
小林C语言
2021/03/10
7890
批量处理文件夹命名
批量copy1000+个相同的文件 @echo off for /l %%i in (1,1,1000) do copy 1.html %%i.html 1-10000+个文件 序列命名: @echo off setlocal enabledelayedexpansion ::打开系统延时 set /a b=0 dir /b/od ::按时间顺序显示当前文件夹下的所有文件名 pause ::给你反悔时间 for /f "delims=" %%f in ('dir /b/od *.*') do ( i
菜菜有点菜
2022/03/02
5720
批量处理文件夹命名
python移动文件,将一个文件夹里面的文件移动到另一个文件夹
python移动文件,将一个文件夹里面的文件移动到另一个文件夹 import shutil import os def remove_file(old_path, new_path): print(old_path) print(new_path) filelist = os.listdir(old_path) #列出该目录下的所有文件,listdir返回的文件列表是不包含路径的。 print(filelist) for file in filelist:
青阳
2021/04/02
29.2K0
SpringBoot 集成 Apache Camel FTP 实现文件同步
  此处最好保持 camel-spring-boot-starter 与 camel-ftp 版本一致。
Demo_Null
2020/09/28
3.1K0
kafka系列之camel-kafka
首先关于 camel 的基本概念和用法,以及 kafka 的基本概念和用法,这里就不啰嗦了。这篇文章假设你对二者都有基本的认识。
用户7634691
2020/08/10
4.9K2
「集成架构」我们得谈谈 Apache Camel
Apache Software Foundation(ASF)在2019年监督了339个项目,有超过3000名提交者组成的强大社区修改了59309787行代码。
架构师研究会
2021/01/06
2.3K0
P3433 [POI2005]PRA-Dextrogyrate Camel
小 \mathrm{H} 听说在 n 个不同的地方分别降下了雪,非常激动,于是约小 \mathrm{S} 一起去赏雪。小 \mathrm{S} 平时习惯利用虫洞进行空间穿梭,并不是很想走路,但看着小 \mathrm{H} 兴奋的样子,还是答应了。地面可以视作一个二维平面,小 S 观测到第 i 个降下了雪的地方 (以下简称为关键点) 的坐标为 \left(x_{i}, y_{i}\right)_{\text {。非常巧 }} 合的是,小 \mathrm{H} 恰好位于 1 号关键点,小 \mathrm{S} 恰好位于 2 号关键点。小 \mathrm{H} 会先从自己所在的 1 号点走向小 S 所在的 2 号点,然后和小 S 一起去若干关键点赏雪。不过由于小 S 并没有 去过小 \mathrm{H} 最初的位置,所以最后她们会一起走回 1 号点。根据各自的需要,她们为这趟赏雪之旅制定了两个规则:
yzxoi
2022/09/19
4530
linux shell 循环处理文件夹每个文件
在linux下,如果有一个文件夹,下面有好几个文件。每个文件如 abc.csv这种格式。我想一个个处理文件,并且取得前缀abc,生成新文件abc.text.
全栈程序员站长
2022/09/15
1.7K0
js滚动到页面顶部
js平滑滚动到顶部,底部,指定地方 采用锚点进行页面中的跳转的确很方便,但是要想增加网页的效果,可以使用jquery中的animate,实现滚动的一个动作,慢慢的滚动到你想跳转到的位置 滚动到顶部:
IT工作者
2022/01/15
13.4K0
Android Service启动到Activity
从Service启动到Activity基本可以分为两类: 1.从自己应用的Service启动自己应用的Activity,即显式意图; 2.从自己应用的Service启动到其他应用的Activity,或者从别的应用的Service启动到自己应用的Activity,即隐式意图;
程序员飞飞
2020/02/27
3.4K0
【说站】python中camel函数的使用
2、这个函数考虑的是变量形式的字符串,单词之间有相关的分隔,而不是直接连续的单词。
很酷的站长
2022/11/24
6680
【说站】python中camel函数的使用
js滚动到页面顶部
我们可以使用原生的JavaScript window.scrollTo 传入0,0 将会立即滚动到页面左上角。
用户1349575
2021/12/28
14.4K0
DOS批处理 - CMD命令(复制、移动、重命名) (文件夹、子文件夹)
1、文件夹A里有很多子文件夹,这些文件夹里有很多不同格式的文件,我想把这些所有子文件夹里的文件全部提取(剪切)出来,放到A文件夹里面,那些子文件夹里就没有东西了。
浩Coding
2019/07/02
10.3K0
DOS批处理 - CMD命令(复制、移动、重命名) (文件夹、子文件夹)
大众点评新开源项目-Camel(干货)
Camel 是大众点评开发的软负载一体解决方案,承担了F5四层硬负载后的软负载工作。Camel已成为大众点评网络流量中必不可缺的一层。
后端技术探索
2018/08/10
1.4K0
☀️手把手教你Camel 环境搭建☀️《❤️记得收藏❤️》
Vagrant是一款用来构建虚拟开发环境的工具,它底层支持 VirtualBox、VMware 甚至 AWS 作为虚拟机系统,提供易于配置,重复性好,便携式的工作环境。也可以和 puppet,chef 结合,实现虚拟机管理的自动化。
苏州程序大白
2021/08/18
2.5K0
☀️手把手教你Camel 环境搭建☀️《❤️记得收藏❤️》
简化软件集成:一个Apache Camel教程
本周收到的是一篇关于使用Apache Camel整合企业中各种软件的教程,涉及到从基础到Kubernetes集成。推荐直接看原文:
WindCoder
2018/09/19
13.9K0
简化软件集成:一个Apache Camel教程
点击加载更多

相似问题

如何在Apache Camel批处理之后移动文件?

11

Camel FTP端点根据日期移动到文件夹

15

在jquery/javascript处理之后移动到命名锚点

20

使用ffmpeg压缩视频,然后移动到相应的文件夹。

22

比较文件夹大小,然后移动到另一个文件夹

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文