ConsumerOps

io.github.embeddedkafka.ops.ConsumerOps

Trait for Consumer-related actions.

Type parameters

C

an EmbeddedKafkaConfig

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def consumeFirstKeyedMessageFrom[K, V](topic: String, autoCommit: Boolean, timeout: Duration)(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.

Value parameters

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

timeout

the interval to wait for messages before throwing TimeoutException

topic

the topic to consume a message from

valueDeserializer

an implicit Deserializer for the type V

Attributes

Returns

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

def consumeFirstMessageFrom[V](topic: String, autoCommit: Boolean, timeout: Duration)(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.

Value parameters

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

timeout

the interval to wait for messages before throwing TimeoutException

topic

the topic to consume a message from

valueDeserializer

an implicit Deserializer for the type V

Attributes

Returns

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

def consumeFirstStringMessageFrom(topic: String, autoCommit: Boolean, timeout: Duration)(implicit config: C): String
def consumeNumberKeyedMessagesFrom[K, V](topic: String, number: Int, autoCommit: Boolean, timeout: Duration)(implicit config: C, keyDeserializer: Deserializer[K], valueDeserializer: Deserializer[V]): List[(K, V)]
def consumeNumberKeyedMessagesFromTopics[K, V](topics: Set[String], number: Int, autoCommit: Boolean, timeout: Duration, resetTimeoutOnEachMessage: Boolean)(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.

Value parameters

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.

config

an implicit EmbeddedKafkaConfig

keyDeserializer

an implicit Deserializer for the type K

number

the number of messages to consume in a batch

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

timeout

the interval to wait for messages before throwing TimeoutException

topics

the topics to consume messages from

valueDeserializer

an implicit Deserializer for the type V

Attributes

Returns

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

def consumeNumberMessagesFrom[V](topic: String, number: Int, autoCommit: Boolean, timeout: Duration)(implicit config: C, valueDeserializer: Deserializer[V]): List[V]
def consumeNumberMessagesFromTopics[V](topics: Set[String], number: Int, autoCommit: Boolean, timeout: Duration, resetTimeoutOnEachMessage: Boolean)(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.

Value parameters

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.

config

an implicit EmbeddedKafkaConfig

number

the number of messages to consume in a batch

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

timeout

the interval to wait for messages before throwing TimeoutException

topics

the topics to consume messages from

valueDeserializer

an implicit Deserializer for the type V

Attributes

Returns

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

def consumeNumberStringMessagesFrom(topic: String, number: Int, autoCommit: Boolean, timeout: Duration)(implicit config: C): List[String]
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. The producer's lifecycle will be automatically handled and closed at the end of the given code block.

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.

Value parameters

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

Attributes

Concrete fields

protected val consumerPollingTimeout: FiniteDuration