Package com.bakdata.kafka.producer
Class KafkaProducerApplication<T extends ProducerApp>
java.lang.Object
com.bakdata.kafka.KafkaApplication<ProducerRunner,ProducerCleanUpRunner,ProducerExecutionOptions,ExecutableProducerApp<T>,ConfiguredProducerApp<T>,ProducerTopicConfig,T,ProducerAppConfiguration>
com.bakdata.kafka.producer.KafkaProducerApplication<T>
- Type Parameters:
T- type ofProducerAppcreated by this application
- All Implemented Interfaces:
AutoCloseable,Runnable
- Direct Known Subclasses:
SimpleKafkaProducerApplication
public abstract class KafkaProducerApplication<T extends ProducerApp>
extends KafkaApplication<ProducerRunner,ProducerCleanUpRunner,ProducerExecutionOptions,ExecutableProducerApp<T>,ConfiguredProducerApp<T>,ProducerTopicConfig,T,ProducerAppConfiguration>
The base class for creating Kafka Producer applications.
This class provides the following configuration options in addition to those provided byKafkaApplication:
To implement your Kafka Producer application inherit from this class and add your custom options. Run it by
creating an instance of your class and calling KafkaApplication.startApplication(String[]) from your main.-
Nested Class Summary
Nested classes/interfaces inherited from class com.bakdata.kafka.KafkaApplication
KafkaApplication.CleanableApp<CR extends CleanUpRunner>, KafkaApplication.RunnableApp<R extends Runner> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclean()Delete all output topics associated with the Kafka Producer application.Create configuration to configure appfinal ConfiguredProducerApp<T>createConfiguredApp(T app, ProducerAppConfiguration configuration) Create a newConfiguredAppthat will be executed according to the given config.final Optional<ProducerExecutionOptions>Create options for running the appfinal ProducerTopicConfigTopics used by appvoidsetLabeledOutputTopics(Map<String, String> labeledOutputTopics) voidsetOutputOptions(OutputOptions outputOptions) voidsetOutputTopic(String outputTopic) toString()Methods inherited from class com.bakdata.kafka.KafkaApplication
close, createApp, createCleanableApp, createConfiguredApp, createExecutableApp, createRunnableApp, getBootstrapServers, getKafkaConfig, getRuntimeConfiguration, getSchemaRegistryUrl, onApplicationStart, prepareClean, prepareRun, run, setBootstrapServers, setKafkaConfig, setSchemaRegistryUrl, startApplication, startApplicationWithoutExit, stop
-
Constructor Details
-
KafkaProducerApplication
public KafkaProducerApplication()
-
-
Method Details
-
clean
public void clean()Delete all output topics associated with the Kafka Producer application.- Overrides:
cleanin classKafkaApplication<ProducerRunner,ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration>
-
createExecutionOptions
Description copied from class:KafkaApplicationCreate options for running the app- Specified by:
createExecutionOptionsin classKafkaApplication<ProducerRunner,ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration> - Returns:
- run options if available
- See Also:
-
createTopicConfig
Description copied from class:KafkaApplicationTopics used by app- Specified by:
createTopicConfigin classKafkaApplication<ProducerRunner,ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration> - Returns:
- topic configuration
-
createConfiguredApp
public final ConfiguredProducerApp<T> createConfiguredApp(T app, ProducerAppConfiguration configuration) Description copied from class:KafkaApplicationCreate a newConfiguredAppthat will be executed according to the given config.- Specified by:
createConfiguredAppin classKafkaApplication<ProducerRunner,ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration> - Parameters:
app- app to configure.configuration- configuration for app- Returns:
ConfiguredApp
-
createConfiguration
Description copied from class:KafkaApplicationCreate configuration to configure app- Specified by:
createConfigurationin classKafkaApplication<ProducerRunner,ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration> - Parameters:
topics- topic configuration- Returns:
- configuration
-
toString
- Overrides:
toStringin classKafkaApplication<ProducerRunner,ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration>
-
getOutputOptions
-
setOutputOptions
-
getOutputTopic
-
getLabeledOutputTopics
-
setOutputTopic
-
setLabeledOutputTopics
-