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"