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 all configuration options 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 apptoString()Methods inherited from class com.bakdata.kafka.KafkaApplication
close, createApp, createCleanableApp, createConfiguredApp, createExecutableApp, createRunnableApp, getBootstrapServers, getKafkaConfig, getLabeledOutputTopics, getOutputTopic, getRuntimeConfiguration, getSchemaRegistryUrl, onApplicationStart, prepareClean, prepareRun, run, setBootstrapServers, setKafkaConfig, setLabeledOutputTopics, setOutputTopic, 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>
-