385.5. 例
クラスター化された Camel アプリケーションを保護して、1 つのアクティブノードからのファイルのみを消費することができます。
// the file endpoint we want to consume from
String url = "file:target/inbox?delete=true";
// use the zookeeper master component in the clustered group named myGroup
// to run a master/slave mode in the following Camel url
from("zookeeper-master:myGroup:" + url)
.log(name + " - Received file: ${file:name}")
.delay(delay)
.log(name + " - Done file: ${file:name}")
.to("file:target/outbox");
ZooKeeper はデフォルトで localhost:2181 に接続しますが、これはコンポーネントレベルで設定できます。
MasterComponent master = new MasterComponent();
master.setZooKeeperUrl("myzookeeper:2181");ただし、環境変数を使用して ZooKeeper アンサンブルの URL を設定することもできます。
export ZOOKEEPER_URL = "myzookeeper:2181"