Date Tags Kafka / Java

Version 3.0.0 of Kafka for JUnit has been released. It increases all Kafka dependencies to 3.0.0.

Due to changes at the level of the Kafka Configuration API it is no longer possible to override the default listening port of 9092 with a user-supplied one using the KafkaConfig$.MODULE$.PortProp() parameter (same goes for KafkaConfig$.MODULE$.HostnameProp().

This has some implications for multi-broker setups with Kafka for JUnit. In a multi-broker setup, Kafka for JUnit will always generate a set of ephemeral ports and configure the listener configuration parameter for each and every broker in your test setup as appropriate. To ease the burden on the API of Kafka for JUnit, this behavior cannot be overridden.

This is not the case for single-broker setups. Although it is no longer possible to use the aforementioned configuration parameters, users can override the listener configuration by providing a configuration value for KafkaConfig$.MODULE$.ListenerProp(). Using defaults, Kafka for JUnit will - as it has been ever since - start the embedded broker at the default port 9092 using the PLAINTEXT protocol. Single-broker integration tests are able to switch to another protocol by overriding this parameter as well. Multi-broker integration tests are - for the time being - only admissible with the PLAINTEXT protocol in place as a means to not overcomplicate things.

Changelog

See the changelog on GitHub.

Features

Bugfixes

None.

Get it

You can obtain the binaries from Maven central or include the dependency using the following Maven coordinates in your build.

Maven

<dependency>
  <groupId>net.mguenther.kafka</groupId>
  <artifactId>kafka-junit</artifactId>
  <version>3.0.0</version>
</dependency>

Gradle

compile 'net.mguenther.kafka:kafka-junit:3.0.0'