Camel计数已路由或使用的文件数

Hon*_*yal 2 java apache-camel

我想知道已经转移的文件数量,或者您可以在每个文件从消费者转移到生产者之后说出确认或通知.

像简单的例子

from("file:in").
   .to("file:out");
Run Code Online (Sandbox Code Playgroud)

我使用.onCompetion()并尝试过处理器,但没有为我工作,因为我是一个新手.代码示例将非常有用.

Pet*_*ler 5

您可以使用CamelBatchSize交换财产.此属性返回此批处理中轮询的Exchange总数:

from("file:in").
    .log("CamelBatchSize (header)   = ${header.CamelBatchSize}")
    .log("CamelBatchSize (property) = ${property.CamelBatchSize}")
    .to("file:out");
Run Code Online (Sandbox Code Playgroud)

CamelBatchSize所有Camel批量消费者都支持,请参阅此处.支持的其他属性包括:

  • CamelBatchIndex:批次的当前索引.从0开始.
  • CamelBatchComplete:一个布尔值,指示批处理中的最后一个Exchange.仅适用于最后一个条目.