trait ZookeeperStateMonitor extends AnyRef
A zk monitor trait that assists with monitoring a given zk path for any node data change, in which the provided zk data handling implementation will be invoked.
This monitor will maintain a queue so that every work item triggered by zk event will be processed in an order with a back off policy. It also set-up a zookeeper connection watcher by default to re-set the data change watcher even during zk re-connect.
The monitor will set-up all watcher properly kick off the loop to process future event; you can also invoke loadZKData() in your class anytime to force reading zk data and apply it.
Example use cases are: - zookeeper based CachePoolCluster uses this to monitor cache pool members change - zookeeper based MigrationClient uses this ot monitor migration state transitioning
- Alphabetic
- By Inheritance
- ZookeeperStateMonitor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def applyZKData(data: Array[Byte]): Unit
Load the zookeeper node data as well as leaving a data watch, then invoke the applyZKData implementation to process the data string.
- abstract val statsReceiver: StatsReceiver
- Attributes
- protected
- abstract val zkClient: ZooKeeperClient
- Attributes
- protected
- abstract val zkPath: String
- Attributes
- protected
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def applyZKChildren(children: List[String]): Unit
Load the zookeeper node children as well as leaving a children watch, then invoke the applyZKChildren implementation to process the children list.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def loadZKChildren: () => Unit
- def loadZKData: () => Unit
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def reconnectZK: () => Unit
Reconnect to the zookeeper, this maybe invoked when zookeeper connection expired and the node data watcher previously registered got dropped, hence re-attache the data wather here.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()