我有一个批处理文件使用者,它正在轮询许多不同进程将文件放到的公共目录。这些文件通过文件名上的guid“批处理”在一起。完成特定批处理后,应用程序将删除.done文件以触发camel文件使用者。
我的问题是,我正试图找到一种方法来潜在地“忽略”可能包含我不想处理的文件的消息/交换(即...不是我当前批次的一部分)。
此外,我希望“忽略”的交换不被骆驼处理(即..没有移动到.processed目录)。
我目前正在将消息过滤器视为一种潜在的方式来做到这一点,尽管我不确定它是否会满足我的要求而不能处理。
有什么建议吗?
答案 0 :(得分:1)
您可以在File组件上使用'include'或'antinclude'(或'exclude和'antexclude')参数,仅根据正则表达式或ant模式处理特定消息。未处理的文件根本不会被移动或触摸。
如果您需要一套比正则表达式或蚂蚁模式更复杂的规则,您可能需要编写自己的自定义可插入过滤器,然后可以使用'filter'参数指定。
有关上述内容的详情,请参阅此处: