2017-06-08 5 views
0

飼い葉桶の時計は1回限りのトリガーです。私が時計のイベントを取得し、将来の変更を通知したい場合、別の時計を設定する必要があります。飼い猫は時計を一度トリガーにするのはなぜですか?

いくつかの欠点があります。

1)私のコードの複雑

2を作ること)イベントを取得し、時計を取得するための新しい要求を送信する間の待ち時間があり、いくつかの変更を逃したことがあり!

飼い猫は時計を1回トリガーにするのはなぜですか?

答えて

1

あなたは[ZooKeeperの-153]を参照してくださいすることができますが、[1] https://issues.apache.org/jira/browse/ZOOKEEPER-153

現実には、このような永久的な時計が1時間時計の上に余分な利益を提供していません。具体的には、ウォッチイベントにはデータは含まれていないため、クライアントは変更に対応するデータを取得するためにクエリ操作を実行する必要があります。その場合でも、znodeは、イベントが受信された後、クライアントが照会操作を送信する前に再び変更することができます。 znodeへの変更の数さえ、1つの時計を使用して、zノードのstat構造内のmzxidを調べることで見つけることができます。クライアントはZooKeeperサーバーを切り替えるときに発生するイベントを見逃してしまいます。

+0

今後、永久的な腕時計を追加することを計画しています。 – lihongxu

+0

動物園のユーザーが2014年以降この質問をし始めました。彼らは間違いなくこの質問に答えていました。 – daisy

+0

これはまさに私が欲しいものです、ありがとう! – lihongxu

関連する問題