我有两个camel应用程序,他们的职责是从同一目录中读取文件,处理它们并将它们发送给db consumer。为此,我的端点是这样的:
file:/data/air?preMove=thread&readLock=fileLock &idempotent=true&idempotentRepository=#fileStore&include=AIROUTPUTCDR_(.*).AIR.gz&move=/data/air/success&moveFailed=error
正如您所见,应用程序根据过滤器从polldir轮询文件,在线程目录下移动它们以读取,读取文件并移动到成功文件夹。
但是通过这个流程,如果我杀死一个应用程序并再次启动它,那么正在处理的文件将不会被处理,因为它们位于线程文件夹下。
我的问题是,有没有办法恢复读取刚被中断的文件?
由于
答案 0 :(得分:0)
否如果你在文件被预先移动的情况下对应用程序进行硬杀,那么你需要手动将这些文件从预移动移回源文件夹,这样就可以再次拾取它们