Apache Camel doneFileName 更改名称
Apache Camel doneFileName with changing name
我目前正在创建一些路线,其中一个路线我遇到了问题。
通常我有一个数据文件,然后是一个以“ACK”为前缀的同名文件,这与 camel 和 doneFileName 选项完美配合。
但是对于我的一条路线,我必须处理不同的情况,我仍然收到两个文件,但它们具有相同的类型,就像:MyFILE-{{timestamp}}
。数据文件包含数据,完成文件只包含“完成”。
所以我需要一些东西来检查文件的内容,如果它只是“完成”然后处理另一个文件。
有没有办法用骆驼来处理这个问题?
我看到的最实用的解决方案是编写一个“适配器脚本”(bash 或任何您可以使用的脚本),查看每个名称中带有时间戳的文件.
如果文件内容“完成”:
- 查找另一个“MyFILE-{{timestamp}}”(数据文件)并将其重命名为“MyFILE”
- 将完成的文件重命名为“MyFILE.done”
Camel 然后可以使用标准 done-file-option 导入数据文件。因为这两个文件都被重命名为没有时间戳的内容,所以 peek-script 会在重命名后忽略它们。
我目前正在创建一些路线,其中一个路线我遇到了问题。 通常我有一个数据文件,然后是一个以“ACK”为前缀的同名文件,这与 camel 和 doneFileName 选项完美配合。
但是对于我的一条路线,我必须处理不同的情况,我仍然收到两个文件,但它们具有相同的类型,就像:MyFILE-{{timestamp}}
。数据文件包含数据,完成文件只包含“完成”。
所以我需要一些东西来检查文件的内容,如果它只是“完成”然后处理另一个文件。
有没有办法用骆驼来处理这个问题?
我看到的最实用的解决方案是编写一个“适配器脚本”(bash 或任何您可以使用的脚本),查看每个名称中带有时间戳的文件.
如果文件内容“完成”:
- 查找另一个“MyFILE-{{timestamp}}”(数据文件)并将其重命名为“MyFILE”
- 将完成的文件重命名为“MyFILE.done”
Camel 然后可以使用标准 done-file-option 导入数据文件。因为这两个文件都被重命名为没有时间戳的内容,所以 peek-script 会在重命名后忽略它们。