File Cluster Service

JVM since3.10.0 Native since3.10.0

Provides a FileLock implementation of the Camel Cluster Service SPI

Maven coordinates

Or add the coordinates to your existing project:


Check the User guide for more information about writing Camel Quarkus applications.

Additional Camel Quarkus configuration

Having only a single consumer in a cluster consuming from a given endpoint

When the same route is deployed on multiple JVMs, it could be interesting to use this extension in conjunction with the Master one. In such a setup, a single consumer will be active at a time across the whole camel master namespace.

For instance, having the route below deployed on multiple JVMs:

from("master:ns:timer:test?period=100").log("Timer invoked on a single JVM at a time");

It’s possible to configure the file cluster service with a property like below:

quarkus.camel.cluster.file.root = target/cluster-folder-where-lock-file-will-be-held

As a result, a single consumer will be active across the ns camel master namespace. It means that, at a given time, only a single timer will generate exchanges across all JVMs. In other words, messages will be logged every 100ms on a single JVM at a time.

The file cluster service could further be tuned by tweaking quarkus.camel.cluster.file.* properties.

Configuration property Type Default

The cluster service ID (defaults to null).



The root path (defaults to null).



The service lookup order/priority (defaults to 2147482647).



The time to wait before starting to try to acquire lock (defaults to 1000ms).



The time to wait between attempts to try to acquire lock (defaults to 10000ms).



The custom attributes associated to the service (defaults to empty map).


Configuration property fixed at build time. All other configuration properties are overridable at runtime.