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 ofProducerApp
created 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 TypeMethodDescriptionvoid
clean()
Delete all output topics associated with the Kafka Producer application.Create configuration to configure appfinal ConfiguredProducerApp<T>
createConfiguredApp
(T app, ProducerAppConfiguration configuration) Create a newConfiguredApp
that will be executed according to the given config.final Optional<ProducerExecutionOptions>
Create options for running the appfinal ProducerTopicConfig
Topics 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:
clean
in classKafkaApplication<ProducerRunner,
ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration>
-
createExecutionOptions
Description copied from class:KafkaApplication
Create options for running the app- Specified by:
createExecutionOptions
in 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:KafkaApplication
Topics used by app- Specified by:
createTopicConfig
in 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:KafkaApplication
Create a newConfiguredApp
that will be executed according to the given config.- Specified by:
createConfiguredApp
in 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:KafkaApplication
Create configuration to configure app- Specified by:
createConfiguration
in 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:
toString
in classKafkaApplication<ProducerRunner,
ProducerCleanUpRunner, ProducerExecutionOptions, ExecutableProducerApp<T extends ProducerApp>, ConfiguredProducerApp<T extends ProducerApp>, ProducerTopicConfig, T extends ProducerApp, ProducerAppConfiguration>
-