Package com.consol.citrus.kafka.embedded
Class EmbeddedKafkaServer
- java.lang.Object
-
- com.consol.citrus.kafka.embedded.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 Summary
Constructors Constructor Description EmbeddedKafkaServer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PropertiescreateBrokerProperties(String zooKeeperConnect, int kafkaServerPort, File logDir)Creates Kafka broker properties.protected voidcreateKafkaTopics(Set<String> topics)Create topics on embedded Kafka server.protected FilecreateLogDir()Creates Zookeeper log directory.protected org.apache.zookeeper.server.ServerCnxnFactorycreateServerFactory()Create server factory for embedded Zookeeper server instance.protected org.apache.zookeeper.server.ZooKeeperServercreateZookeeperServer(File logDir)Creates new embedded Zookeeper server.voiddestroy()Map<String,String>getBrokerProperties()Gets the brokerProperties.intgetKafkaServerPort()Gets the kafkaServerPort.StringgetLogDirPath()Gets the logDirPath.intgetPartitions()Gets the partitions.StringgetTopics()Gets the topics.intgetZookeeperPort()Gets the zookeeperPort.voidinitialize()booleanisAutoDeleteLogs()Gets the autoDeleteLogs.voidsetAutoDeleteLogs(boolean autoDeleteLogs)Sets the autoDeleteLogs.voidsetBrokerProperties(Map<String,String> brokerProperties)Sets the brokerProperties.voidsetKafkaServerPort(int kafkaServerPort)Sets the kafkaServerPort.voidsetLogDirPath(String logDirPath)Sets the logDirPath.voidsetPartitions(int partitions)Sets the partitions.voidsetTopics(String topics)Sets the topics.voidsetZookeeperPort(int zookeeperPort)Sets the zookeeperPort.voidstart()Start embedded server instances for Kafka and Zookeeper.voidstop()Shutdown embedded Kafka and Zookeeper server instances
-
-
-
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
-
destroy
public void destroy()
- Specified by:
destroyin interfaceShutdownPhase
-
initialize
public void initialize()
- Specified by:
initializein interfaceInitializingPhase
-
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-
-
-