EmbeddedKafka(EmbeddedZookeeper zookeeper, Properties overrideProperties) { this.zookeeper = requireNonNull(zookeeper, "zookeeper is null"); requireNonNull(overrideProperties, "overrideProperties is null"); this.kafkaDataDir = Files.createTempDir(); Map<String, String> properties = ImmutableMap.<String, String>builder() .put("broker.id", "0") .put("host.name", "localhost") .put("num.partitions", "2") .put("log.flush.interval.messages", "10000") .put("log.flush.interval.ms", "1000") .put("log.retention.minutes", "60") .put("log.segment.bytes", "1048576") .put("auto.create.topics.enable", "false") .put("zookeeper.connection.timeout.ms", "1000000") .put("port", "0") .put("log.dirs", kafkaDataDir.getAbsolutePath()) .put("zookeeper.connect", zookeeper.getConnectString()) .putAll(Maps.fromProperties(overrideProperties)) .build(); KafkaConfig config = new KafkaConfig(properties); this.kafkaServer = new KafkaServer(config, Time.SYSTEM, Option.empty(), List.make(0, null)); }