kafka.common

ZkNodeChangeNotificationListener

class ZkNodeChangeNotificationListener extends Logging

A listener that subscribes to seqNodeRoot for any child changes where all children are assumed to be sequence node with seqNodePrefix. When a child is added under seqNodeRoot this class gets notified, it looks at lastExecutedChange number to avoid duplicate processing and if it finds an unprocessed child, it reads its data and calls supplied notificationHandler's processNotification() method with the child's data as argument. As part of processing these changes it also purges any children with currentTime - createTime > changeExpirationMs.

The caller/user of this class should ensure that they use zkClient.subscribeStateChanges and call processAllNotifications method of this class from ZkStateChangeListener's handleNewSession() method. This is necessary to ensure that if zk session is terminated and reestablished any missed notification will be processed immediately.

Linear Supertypes
Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ZkNodeChangeNotificationListener
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ZkNodeChangeNotificationListener(zkUtils: ZkUtils, seqNodeRoot: String, seqNodePrefix: String, notificationHandler: NotificationHandler, changeExpirationMs: Long = 15.*(60).*(1000).toLong, time: Time = kafka.utils.SystemTime)

    seqNodeRoot
    seqNodePrefix
    notificationHandler
    changeExpirationMs
    time

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. object NodeChangeListener extends IZkChildListener

    A listener that gets invoked when a node is created to notify changes.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def debug(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  10. def debug(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  11. def debug(msg: ⇒ String): Unit

    Definition Classes
    Logging
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def error(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  15. def error(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  16. def error(msg: ⇒ String): Unit

    Definition Classes
    Logging
  17. def fatal(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  18. def fatal(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  19. def fatal(msg: ⇒ String): Unit

    Definition Classes
    Logging
  20. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  22. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  23. def info(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  24. def info(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  25. def info(msg: ⇒ String): Unit

    Definition Classes
    Logging
  26. def init(): Unit

    create seqNodeRoot and begin watching for any new children nodes.

  27. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  28. var logIdent: String

    Attributes
    protected
    Definition Classes
    Logging
  29. lazy val logger: Logger

    Definition Classes
    Logging
  30. val loggerName: String

    Definition Classes
    Logging
  31. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  32. final def notify(): Unit

    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  34. def processAllNotifications(): Unit

    Process all changes

  35. def swallow(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  36. def swallowDebug(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  37. def swallowError(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  38. def swallowInfo(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  39. def swallowTrace(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  40. def swallowWarn(action: ⇒ Unit): Unit

    Definition Classes
    Logging
  41. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  42. def toString(): String

    Definition Classes
    AnyRef → Any
  43. def trace(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  44. def trace(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  45. def trace(msg: ⇒ String): Unit

    Definition Classes
    Logging
  46. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. def warn(msg: ⇒ String, e: ⇒ Throwable): Unit

    Definition Classes
    Logging
  50. def warn(e: ⇒ Throwable): Any

    Definition Classes
    Logging
  51. def warn(msg: ⇒ String): Unit

    Definition Classes
    Logging

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped