Class EmbeddedKafkaServer

  • All Implemented Interfaces:
    InitializingPhase, ShutdownPhase

    public class EmbeddedKafkaServer
    extends Object
    implements InitializingPhase, ShutdownPhase
    Embedded Kafka server with reference to embedded Zookeeper cluster for testing purpose. Starts single Zookeeper instance with logs in Java temp directory. Starts single Kafka server and automatically creates given topics with admin client.
    Since:
    2.8
    Author:
    Christoph Deppisch
    • Constructor Detail

      • EmbeddedKafkaServer

        public EmbeddedKafkaServer()
    • Method Detail

      • start

        public void start()
        Start embedded server instances for Kafka and Zookeeper.
      • stop

        public void stop()
        Shutdown embedded Kafka and Zookeeper server instances
      • createZookeeperServer

        protected org.apache.zookeeper.server.ZooKeeperServer createZookeeperServer​(File logDir)
        Creates new embedded Zookeeper server.
        Returns:
      • createLogDir

        protected File createLogDir()
        Creates Zookeeper log directory. By default logs are created in Java temp directory. By default directory is automatically deleted on exit.
        Returns:
      • createServerFactory

        protected org.apache.zookeeper.server.ServerCnxnFactory createServerFactory()
        Create server factory for embedded Zookeeper server instance.
        Returns:
      • createKafkaTopics

        protected void createKafkaTopics​(Set<String> topics)
        Create topics on embedded Kafka server.
        Parameters:
        topics -
      • createBrokerProperties

        protected Properties createBrokerProperties​(String zooKeeperConnect,
                                                    int kafkaServerPort,
                                                    File logDir)
        Creates Kafka broker properties.
        Parameters:
        zooKeeperConnect -
        kafkaServerPort -
        logDir -
        Returns:
      • getZookeeperPort

        public int getZookeeperPort()
        Gets the zookeeperPort.
        Returns:
      • setZookeeperPort

        public void setZookeeperPort​(int zookeeperPort)
        Sets the zookeeperPort.
        Parameters:
        zookeeperPort -
      • getKafkaServerPort

        public int getKafkaServerPort()
        Gets the kafkaServerPort.
        Returns:
      • setKafkaServerPort

        public void setKafkaServerPort​(int kafkaServerPort)
        Sets the kafkaServerPort.
        Parameters:
        kafkaServerPort -
      • getPartitions

        public int getPartitions()
        Gets the partitions.
        Returns:
      • setPartitions

        public void setPartitions​(int partitions)
        Sets the partitions.
        Parameters:
        partitions -
      • getTopics

        public String getTopics()
        Gets the topics.
        Returns:
      • setTopics

        public void setTopics​(String topics)
        Sets the topics.
        Parameters:
        topics -
      • getBrokerProperties

        public Map<String,​String> getBrokerProperties()
        Gets the brokerProperties.
        Returns:
      • setBrokerProperties

        public void setBrokerProperties​(Map<String,​String> brokerProperties)
        Sets the brokerProperties.
        Parameters:
        brokerProperties -
      • getLogDirPath

        public String getLogDirPath()
        Gets the logDirPath.
        Returns:
      • setLogDirPath

        public void setLogDirPath​(String logDirPath)
        Sets the logDirPath.
        Parameters:
        logDirPath -
      • isAutoDeleteLogs

        public boolean isAutoDeleteLogs()
        Gets the autoDeleteLogs.
        Returns:
      • setAutoDeleteLogs

        public void setAutoDeleteLogs​(boolean autoDeleteLogs)
        Sets the autoDeleteLogs.
        Parameters:
        autoDeleteLogs -