Packages

trait ConsumerOps[C <: EmbeddedKafkaConfig] extends AnyRef

Trait for Consumer-related actions.

C

an EmbeddedKafkaConfig

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConsumerOps
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. def consumeFirstKeyedMessageFrom[K, V](topic: String, autoCommit: Boolean = false)(implicit config: C, keyDeserializer: Deserializer[K], valueDeserializer: Deserializer[V]): (K, V)

    Consumes the first message available in a given topic, deserializing it as type (K, V).

    Consumes the first message available in a given topic, deserializing it as type (K, V).

    Only the message that is returned is committed if autoCommit is false. If autoCommit is true then all messages that were polled will be committed.

    topic

    the topic to consume a message from

    autoCommit

    if false, only the offset for the consumed message will be committed. if true, the offset for the last polled message will be committed instead.

    config

    an implicit EmbeddedKafkaConfig

    keyDeserializer

    an implicit Deserializer for the type K

    valueDeserializer

    an implicit Deserializer for the type V

    returns

    the first message consumed from the given topic, with a type (K, V)

    Annotations
    @throws( classOf[TimeoutException] ) @throws( classOf[KafkaUnavailableException] )
  2. def consumeFirstMessageFrom[V](topic: String, autoCommit: Boolean = false)(implicit config: C, valueDeserializer: Deserializer[V]): V

    Consumes the first message available in a given topic, deserializing it as type V.

    Consumes the first message available in a given topic, deserializing it as type V.

    Only the message that is returned is committed if autoCommit is false. If autoCommit is true then all messages that were polled will be committed.

    topic

    the topic to consume a message from

    autoCommit

    if false, only the offset for the consumed message will be committed. if true, the offset for the last polled message will be committed instead.

    config

    an implicit EmbeddedKafkaConfig

    valueDeserializer

    an implicit Deserializer for the type V

    returns

    the first message consumed from the given topic, with a type V

    Annotations
    @throws( classOf[TimeoutException] ) @throws( classOf[KafkaUnavailableException] )
  3. def consumeFirstStringMessageFrom(topic: String, autoCommit: Boolean = false)(implicit config: C): String
  4. def consumeNumberKeyedMessagesFrom[K, V](topic: String, number: Int, autoCommit: Boolean = false)(implicit config: C, keyDeserializer: Deserializer[K], valueDeserializer: Deserializer[V]): List[(K, V)]
  5. def consumeNumberKeyedMessagesFromTopics[K, V](topics: Set[String], number: Int, autoCommit: Boolean = false, timeout: Duration = 5.seconds, resetTimeoutOnEachMessage: Boolean = true)(implicit config: C, keyDeserializer: Deserializer[K], valueDeserializer: Deserializer[V]): Map[String, List[(K, V)]]

    Consumes the first n messages available in given topics, deserializes them as type (K, V), and returns the n messages in a Map from topic name to List[(K, V)].

    Consumes the first n messages available in given topics, deserializes them as type (K, V), and returns the n messages in a Map from topic name to List[(K, V)].

    Only the messages that are returned are committed if autoCommit is false. If autoCommit is true then all messages that were polled will be committed.

    topics

    the topics to consume messages from

    number

    the number of messages to consume in a batch

    autoCommit

    if false, only the offset for the consumed messages will be committed. if true, the offset for the last polled message will be committed instead.

    timeout

    the interval to wait for messages before throwing TimeoutException

    resetTimeoutOnEachMessage

    when true, throw TimeoutException if we have a silent period (no incoming messages) for the timeout interval; when false, throw TimeoutException after the timeout interval if we haven't received all of the expected messages

    config

    an implicit EmbeddedKafkaConfig

    keyDeserializer

    an implicit Deserializer for the type K

    valueDeserializer

    an implicit Deserializer for the type V

    returns

    the List of messages consumed from the given topics, each with a type (K, V)

  6. def consumeNumberMessagesFrom[V](topic: String, number: Int, autoCommit: Boolean = false)(implicit config: C, valueDeserializer: Deserializer[V]): List[V]
  7. def consumeNumberMessagesFromTopics[V](topics: Set[String], number: Int, autoCommit: Boolean = false, timeout: Duration = 5.seconds, resetTimeoutOnEachMessage: Boolean = true)(implicit config: C, valueDeserializer: Deserializer[V]): Map[String, List[V]]

    Consumes the first n messages available in given topics, deserializes them as type V, and returns the n messages in a Map from topic name to List[V].

    Consumes the first n messages available in given topics, deserializes them as type V, and returns the n messages in a Map from topic name to List[V].

    Only the messages that are returned are committed if autoCommit is false. If autoCommit is true then all messages that were polled will be committed.

    topics

    the topics to consume messages from

    number

    the number of messages to consume in a batch

    autoCommit

    if false, only the offset for the consumed messages will be committed. if true, the offset for the last polled message will be committed instead.

    timeout

    the interval to wait for messages before throwing TimeoutException

    resetTimeoutOnEachMessage

    when true, throw TimeoutException if we have a silent period (no incoming messages) for the timeout interval; when false, throw TimeoutException after the timeout interval if we haven't received all of the expected messages

    config

    an implicit EmbeddedKafkaConfig

    valueDeserializer

    an implicit Deserializer for the type V

    returns

    the List of messages consumed from the given topics, each with a type V

  8. def consumeNumberStringMessagesFrom(topic: String, number: Int, autoCommit: Boolean = false)(implicit config: C): List[String]
  9. def withConsumer[K, V, T](body: (KafkaConsumer[K, V]) ⇒ T)(implicit config: C, keyDeserializer: Deserializer[K], valueDeserializer: Deserializer[V]): T

    Loaner pattern that allows running a code block with a newly created producer.

    Loaner pattern that allows running a code block with a newly created producer. The producer's lifecycle will be automatically handled and closed at the end of the given code block.

    body

    the function to execute that returns T

    config

    an implicit EmbeddedKafkaConfig

    keyDeserializer

    an implicit Deserializer for the type K

    valueDeserializer

    an implicit Deserializer for the type V