Spring boot 如何使用apache camel将文件从一个文件夹顺序传输到另一个文件夹?

Spring boot 如何使用apache camel将文件从一个文件夹顺序传输到另一个文件夹?,spring-boot,apache-camel,Spring Boot,Apache Camel,我在一个文件夹中有某些文件: abc.zip(可选) def.zip(可选) ghi.zip(可选) 我想按顺序将其发送到目标文件夹。 它们将从目标文件夹发送到第三方系统。 因此,假设abc.zip被传输到目标文件夹,除非它被第三方系统拾取。def.zip不应被传输到目标文件夹 所以,目标文件夹类似于监视文件夹,我想在其中检查上一个文件是否存在。如果不存在,则只发送下一个文件 有没有办法使用apache camel实现这一点?为了实现这一点,听起来您需要实现一个org.apache.camel.

我在一个文件夹中有某些文件:

abc.zip(可选)

def.zip(可选)

ghi.zip(可选)

我想按顺序将其发送到目标文件夹。 它们将从目标文件夹发送到第三方系统。 因此,假设abc.zip被传输到目标文件夹,除非它被第三方系统拾取。def.zip不应被传输到目标文件夹

所以,目标文件夹类似于监视文件夹,我想在其中检查上一个文件是否存在。如果不存在,则只发送下一个文件


有没有办法使用apache camel实现这一点?

为了实现这一点,听起来您需要实现一个
org.apache.camel.component.file.GenericFileProcessStrategy
类,并将其设置为file组件上的
processStrategy
。这样,您就可以检查目的地是否有任何具有较早名称的文件

从文件中(添加了重点):

可插拔的org.apache.camel.component.file.GenericFileProcessStrategy 允许您实现自己的readLock选项或类似选项可以 当必须满足特殊条件才能创建文件时,也可使用 已消耗,例如存在特殊的就绪文件。如果设置了此选项 则readLock选项不适用


如果在发送abc.zip后,它将再次出现在文件夹中,然后再发送def.zip怎么办?@c0ld没有文件将不会再次出现…每个文件都有唯一的名称如果它们是唯一的,您如何知道应该按什么顺序使用它们?@c0ld我有源文件夹,其中的文件按某种顺序排序,因此我在这里看不到问题。只需使用“预排序”、“排序”和“排序”属性即可。更多信息考虑到所有文件都具有唯一的名称,他如何使用GenericFileProcessStrategy实现“按顺序”消费?哦,我没有提到这一点。有一个
preSort
可以应用于将进行订购的消费者。