Package com.bakdata.kafka
Class KafkaApplication
- java.lang.Object
-
- com.bakdata.kafka.KafkaApplication
-
- All Implemented Interfaces:
java.lang.Runnable
- Direct Known Subclasses:
KafkaProducerApplication,KafkaStreamsApplication
public abstract class KafkaApplication extends java.lang.Object implements java.lang.RunnableThe base class of the entry point of the Kafka application.
This class provides common configuration options, e.g.,brokers, for Kafka applications. Hereby it automatically populates the passed in command line arguments with matching environment argumentsEnvironmentArgumentsParser. To implement your Kafka application inherit from this class and add your custom options.
-
-
Field Summary
Fields Modifier and Type Field Description static java.time.DurationADMIN_TIMEOUTprotected java.lang.Stringbrokersprotected booleancleanUpprotected booleandebugprotected java.util.Map<java.lang.String,java.lang.String>extraOutputTopicsprotected java.lang.StringoutputTopicstatic intRESET_SLEEP_MS
-
Constructor Summary
Constructors Constructor Description KafkaApplication()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ImprovedAdminClientcreateAdminClient()protected abstract java.util.PropertiescreateKafkaProperties()java.lang.StringgetBrokers()java.util.Map<java.lang.String,java.lang.String>getExtraOutputTopics()java.util.PropertiesgetKafkaProperties()This method specifies the configuration to run your Kafka application with.java.lang.StringgetOutputTopic()java.lang.StringgetOutputTopic(java.lang.String role)Get extra output topic for a specified rolejava.lang.StringgetSchemaRegistryUrl()java.util.Map<java.lang.String,java.lang.String>getStreamsConfig()booleanisCleanUp()booleanisDebug()booleanisHelpRequested()protected abstract voidrunCleanUp()voidsetBrokers(java.lang.String brokers)voidsetCleanUp(boolean cleanUp)voidsetDebug(boolean debug)voidsetExtraOutputTopics(java.util.Map<java.lang.String,java.lang.String> extraOutputTopics)voidsetHelpRequested(boolean helpRequested)voidsetOutputTopic(java.lang.String outputTopic)voidsetSchemaRegistryUrl(java.lang.String schemaRegistryUrl)voidsetStreamsConfig(java.util.Map<java.lang.String,java.lang.String> streamsConfig)java.lang.StringtoString()
-
-
-
Field Detail
-
RESET_SLEEP_MS
public static final int RESET_SLEEP_MS
- See Also:
- Constant Field Values
-
ADMIN_TIMEOUT
public static final java.time.Duration ADMIN_TIMEOUT
-
outputTopic
protected java.lang.String outputTopic
-
extraOutputTopics
protected java.util.Map<java.lang.String,java.lang.String> extraOutputTopics
-
brokers
protected java.lang.String brokers
-
debug
protected boolean debug
-
cleanUp
protected boolean cleanUp
-
-
Method Detail
-
getKafkaProperties
public final java.util.Properties getKafkaProperties()
This method specifies the configuration to run your Kafka application with.
To add a custom configuration please overridecreateKafkaProperties(). Configuration properties specified via environment (starting with STREAMS_) or via cli option--streams-configare always applied with highest priority (the latter overrides the former).- Returns:
- Returns Kafka configuration
Properties
-
getOutputTopic
public java.lang.String getOutputTopic(java.lang.String role)
Get extra output topic for a specified role- Parameters:
role- role of output topic specified in CLI argument- Returns:
- topic name
-
createAdminClient
public ImprovedAdminClient createAdminClient()
-
createKafkaProperties
protected abstract java.util.Properties createKafkaProperties()
-
runCleanUp
protected abstract void runCleanUp()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getOutputTopic
public java.lang.String getOutputTopic()
-
getExtraOutputTopics
public java.util.Map<java.lang.String,java.lang.String> getExtraOutputTopics()
-
getBrokers
public java.lang.String getBrokers()
-
isDebug
public boolean isDebug()
-
isCleanUp
public boolean isCleanUp()
-
getSchemaRegistryUrl
public java.lang.String getSchemaRegistryUrl()
-
isHelpRequested
public boolean isHelpRequested()
-
getStreamsConfig
public java.util.Map<java.lang.String,java.lang.String> getStreamsConfig()
-
setOutputTopic
public void setOutputTopic(java.lang.String outputTopic)
-
setExtraOutputTopics
public void setExtraOutputTopics(java.util.Map<java.lang.String,java.lang.String> extraOutputTopics)
-
setBrokers
public void setBrokers(java.lang.String brokers)
-
setDebug
public void setDebug(boolean debug)
-
setCleanUp
public void setCleanUp(boolean cleanUp)
-
setSchemaRegistryUrl
public void setSchemaRegistryUrl(java.lang.String schemaRegistryUrl)
-
setHelpRequested
public void setHelpRequested(boolean helpRequested)
-
setStreamsConfig
public void setStreamsConfig(java.util.Map<java.lang.String,java.lang.String> streamsConfig)
-
-