我想知道已传输的文件数,或者您可以说每个文件从消费者传输到生产者后的确认或通知。
像一个简单的例子
from("file:in").
.to("file:out");
我使用.onCompetion()并尝试使用处理器,但由于我是新手,因此对我不起作用。代码示例将非常有帮助。
最佳答案
您可以使用CamelBatchSize
交换属性。此属性返回此批次中轮询的Exchange总数:
from("file:in").
.log("CamelBatchSize (header) = ${header.CamelBatchSize}")
.log("CamelBatchSize (property) = ${property.CamelBatchSize}")
.to("file:out");
所有Camel批处理使用者均支持
CamelBatchSize
,请参见here。支持的其他属性包括:CamelBatchIndex
:批次的当前索引。从0开始。CamelBatchComplete
:一个布尔值,指示批次中的最后一个Exchange。仅对最后一项有效。关于java - Camel 计数被路由或消耗的文件数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26972590/