Java 驼峰文件处理
我正在使用Camel(2.11.0)尝试实现以下功能:Java 驼峰文件处理,java,configuration,routing,apache-camel,file-uri,Java,Configuration,Routing,Apache Camel,File Uri,我正在使用Camel(2.11.0)尝试实现以下功能: 如果文件存在于某个位置,请将其复制到另一个位置,然后开始处理它 如果不存在这样的文件,那么我不希望文件使用者/轮询器阻止;我只希望处理继续进行直接:清理路径 我只希望该文件被轮询一次 以下是我到目前为止所做的(使用SpringXML): 尝试此设置,并调整轮询间隔以适应: 从文档: sendEmptyMessageWhenIdle 默认值=false Camel 2.9:如果轮询使用者未轮询任何文件,则可以启用此选项以发送空消息(无正
- 如果文件存在于某个位置,请将其复制到另一个位置,然后开始处理它
- 如果不存在这样的文件,那么我不希望文件使用者/轮询器阻止;我只希望处理继续进行
路径直接:清理
尝试此设置,并调整轮询间隔以适应:
从文档:
sendEmptyMessageWhenIdle
默认值=false
Camel 2.9:如果轮询使用者未轮询任何文件,则可以启用此选项以发送空消息(无正文)
关于写入文件,请在
中添加日志语句,以确保正在执行该文件。如果是,请检查文件/文件夹权限等
祝你好运。我在尝试使用该条件时遇到了一个错误:
<simple>${body} != null</simple>
${body}!=无效的
它总是返回真的
请浏览以下连结:
它可能会对您有所帮助。这是非常古老的,但如果有人发现了它,您只能用它进行一次投票
“?repeatCount=1”谢谢@vikingsteve-我想给你一个+1,但我没有足够的代表。我感觉很糟糕,有一件重要的事情我忘了提:我只想为文件投票一次。您对sendEmptyMessageWhenIdle
的建议确实有效,但路由会不断地反复轮询文件。关于如何将Camel配置为只轮询一次,有什么想法吗?再次感谢!还有一个delay
选项-您可以尝试将其设置为0,或-1,或某个非常大的值,然后看看会发生什么。否则,在第一次执行路由时,您可以使用controlbus
停止路由。看起来不能延迟,因为它是quartz组件的一部分。
<simple>${body} != null</simple>