@Override public String toString() { return "KafkaServer{" + getConnection() + "}"; }
/** * Get the list of brokers. * * @return the broker list */ public String brokerList() { StringJoiner joiner = new StringJoiner(","); kafkaServers.values().forEach(server -> { joiner.add(server.getConnection()); }); return joiner.toString(); }
/** * Shutdown the embedded Kafka server and delete all data. * * @param deleteLogs whether or not to remove all the log files after shutting down */ public synchronized void shutdown(boolean deleteLogs) { if (server != null) { try { server.shutdown(); if (deleteLogs) { // as of 0.10.1.1 if logs are not deleted explicitly, there are open File Handles left on .timeindex files // at least on Windows courtesy of the TimeIndex.scala class JavaConverters.asJavaIterableConverter(server.logManager().allLogs()).asJava().forEach(Log::delete); } LOGGER.info("Stopped Kafka server {} at {}", brokerId, getConnection()); } finally { server = null; adminZkClient = null; port = desiredPort; } } }
LOGGER.debug("Starting Kafka broker {} at {} with storage in {}", brokerId, getConnection(), logsDir.getAbsolutePath()); server = new kafka.server.KafkaServer(new KafkaConfig(config), new SystemTime(), scala.Option.apply(null), new scala.collection.mutable.ArraySeq<>(0)); server.startup(); LOGGER.info("Started Kafka server {} at {} with storage in {}", brokerId, getConnection(), logsDir.getAbsolutePath()); adminZkClient = new AdminZkClient(server.zkClient()); return this;