Java 驼峰文件处理

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:如果轮询使用者未轮询任何文件,则可以启用此选项以发送空消息(无正

我正在使用Camel(2.11.0)尝试实现以下功能:

  • 如果文件存在于某个位置,请将其复制到另一个位置,然后开始处理它
  • 如果不存在这样的文件,那么我不希望文件使用者/轮询器阻止;我只希望处理继续进行
    直接:清理
    路径
我只希望该文件被轮询一次

以下是我到目前为止所做的(使用SpringXML):



尝试此设置,并调整轮询间隔以适应:

从文档:

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>