Class KafkaApplication

  • All Implemented Interfaces:
    java.lang.Runnable
    Direct Known Subclasses:
    KafkaProducerApplication, KafkaStreamsApplication

    public abstract class KafkaApplication
    extends java.lang.Object
    implements java.lang.Runnable

    The 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 arguments EnvironmentArgumentsParser. To implement your Kafka application inherit from this class and add your custom options.
    • Field Detail

      • 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
    • Constructor Detail

      • KafkaApplication

        public KafkaApplication()
    • 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 override createKafkaProperties(). Configuration properties specified via environment (starting with STREAMS_) or via cli option --streams-config are 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
      • createKafkaProperties

        protected abstract java.util.Properties createKafkaProperties()
      • runCleanUp

        protected abstract void runCleanUp()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.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)