Runs embedded, in-memory Apache Kafka and Apache ZooKeeper instances. Helpful for integration testing.
The code in this project was extracted from kafka-storm-starter to allow for easier reuse in other projects.
Table of Contents
With this project you can run in-memory instances of:
- Kafka -- see KafkaEmbedded
- ZooKeeper -- see ZooKeeperEmbedded
- A ready-to-use Kafka and ZooKeeper "cluster" -- see KafkaZooKeeperCluster
- Java 7
- Scala 2.10
You must add two dependencies to use this project:
- The dependency for kafka-embedded itself, see below for details.
- The dependency for the specific Kafka version 0.8+ you want to use. (Kafka-embedded sets its Kafka dependency to "provided" so that users can pull in whichever Kafka version they need.)
This project is published via Sonatype.
- Snapshots are available in the Maven repository at https://oss.sonatype.org/content/repositories/snapshots
- Releases are available on Maven Central.
When using a snapshot:
// In build.sbt
resolvers ++= Seq("sonatype-snapshots" at "https://oss.sonatype.org/content/repositories/snapshots")
libraryDependencies ++= Seq("com.miguno" % "kafka-embedded_2.10" % "0.1.0-SNAPSHOT")
When using a release (note: no release has been published yet!):
// In build.sbt
libraryDependencies ++= Seq("com.miguno" % "kafka-embedded_2.10" % "0.1.0")
You also need to pick a specific version of Kafka for your build.
Example:
// In build.sbt
libraryDependencies ++= Seq("org.apache.kafka" %% "kafka" % "0.8.1.1")
In many cases you want to exclude certain transitive dependencies of Kafka, e.g. Zookeeper. See build.sbt for an example list of such excludes for Kafka.
A full example of an integration test using in-memory instances of Kafka and ZooKeeper is available at KafkaZooKeeperClusterSpec.
See CHANGELOG.
Code contributions, bug reports, feature requests etc. are all welcome.
If you are new to GitHub please read Contributing to a project for how to send patches and pull requests to kafka-embedded.
Copyright © 2014 Michael G. Noll
See LICENSE for licensing information.