This route:
public void configure() {
from("direct:start")
.loop(2)
.log("CamelLoopIndex = ${header.CamelLoopIndex}")
.to("direct:file-iterator")
.end();
from("direct:file-iterator")
.id("file-iterator")
.log(" in file-iterator")
.to("direct:read-file-checksum")
.to("direct:file-unzip");
from("direct:read-file-checksum")
.log(" in read-file-checksum");
from("direct:file-unzip")
.log(" in direct:file-unzip");
}
}
Leads to following output:
[main] route1 INFO CamelLoopIndex = 0
[main] file-iterator INFO in file-iterator
[main] route2 INFO in read-file-checksum
[main] route3 INFO in direct:file-unzip
[main] route1 INFO CamelLoopIndex = 1
[main] file-iterator INFO in file-iterator
[main] route2 INFO in read-file-checksum
[main] route3 INFO in direct:file-unzip
This is what I would expect. If this route corresponds to your setup, then your problem is not a loop
problem and you should have look into the direct:file-unzip
route.