23.23. 避免多次读取同一文件(隐藏消费者)
				Camel 直接在组件内支持 Idempotent Consumer,以便跳过已经处理的文件。可以通过设置 idempotent=true 选项来启用此功能。
			
from("file://inbox?idempotent=true").to("...");
from("file://inbox?idempotent=true").to("...");
Camel 使用绝对文件名作为幂等键,以检测重复的文件。您可以使用 idempotentKey 选项中的表达式来自定义此密钥。例如,将名称和文件大小用作键
<route>
  <from uri="file://inbox?idempotent=true&idempotentKey=${file:name}-${file:size}"/>
  <to uri="bean:processInbox"/>
</route>
<route>
  <from uri="file://inbox?idempotent=true&idempotentKey=${file:name}-${file:size}"/>
  <to uri="bean:processInbox"/>
</route>
				默认情况下,Camel 使用基于内存的存储来跟踪消耗的文件,它使用最近保留 1000 个条目的缓存。您可以使用值中的 explicit Repository 选项来插件您自己的存储实现,以指示它在 Registry 中引用具有指定 id 的 Registry 中的 bean。
			
				如果 Camel 跳过文件,则 Camel 将在 DEBUG 级别记录,因为它之前已被消耗:
			
DEBUG FileConsumer is idempotent and the file has been consumed before. Will skip this file: target\idempotent\report.txt
DEBUG FileConsumer is idempotent and the file has been consumed before. Will skip this file: target\idempotent\report.txt