0

我有一个批处理文件使用者,它正在轮询许多不同进程将文件拖放到的公共目录。这些文件通过文件名上的 guid 一起“批处理”。完成特定批次后,应用程序会删除一个 .done 文件以触发骆驼文件使用者。

我的问题是我正在尝试找到一种方法来潜在地“忽略”可能包含我不想处理的文件的消息/交换(即..不是我当前批次的一部分)。

此外,我希望骆驼不处理“忽略”的交换(即..不移动到 .processed 目录)。

我目前正在将消息过滤器视为一种潜在的方法来做到这一点,尽管我不确定它是否能满足我不处理的要求。

有什么建议么?

4

1 回答 1

1

您可以使用 File 组件上的 'include' 或 'antinclude'(或 'exclude 和 'antexclude')参数来仅处理基于 regex 或 ant 模式的特定消息。未处理的文件根本不会被移动或触摸。

如果您需要一组比正则表达式或 ant 模式更复杂的规则,您可能需要编写自己的自定义可插入过滤器,然后您可以使用“过滤器”参数指定。

有关上述内容的更多详细信息,请参见此处:

http://camel.apache.org/file2.html

于 2016-06-03T13:32:44.490 回答