Package com.bakdata.kafka.consumer
Class KafkaConsumerApplication<T extends ConsumerApp>
java.lang.Object
com.bakdata.kafka.KafkaApplication<ConsumerRunner,ConsumerCleanUpRunner,ConsumerExecutionOptions,ExecutableConsumerApp<T>,ConfiguredConsumerApp<T>,ConsumerTopicConfig,T,ConsumerAppConfiguration>
com.bakdata.kafka.consumer.KafkaConsumerApplication<T>
- Type Parameters:
T- type ofConsumerAppcreated by this application
- All Implemented Interfaces:
AutoCloseable,Runnable
- Direct Known Subclasses:
SimpleKafkaConsumerApplication
public abstract class KafkaConsumerApplication<T extends ConsumerApp>
extends KafkaApplication<ConsumerRunner,ConsumerCleanUpRunner,ConsumerExecutionOptions,ExecutableConsumerApp<T>,ConfiguredConsumerApp<T>,ConsumerTopicConfig,T,ConsumerAppConfiguration>
The base class for creating Kafka Consumer applications.
This class provides the following configuration options in addition to those provided byKafkaApplication:
getInputTopics()getInputPattern()getLabeledInputTopics()getLabeledInputPatterns()isVolatileGroupInstanceId()getGroupId()
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()Reset the Kafka Consumer application.Create configuration to configure appfinal ConfiguredConsumerApp<T>createConfiguredApp(T app, ConsumerAppConfiguration configuration) Create a newConfiguredAppthat will be executed according to the given config.final Optional<ConsumerExecutionOptions>Create options for running the appfinal ConsumerTopicConfigTopics used by appbooleanprotected voidonConsumerStart(RunningConsumer runningConsumer) Called after starting Kafka Consumervoidreset()Clear consumer group offsets of the Kafka Consumer application.voidsetConsumerOptions(ConsumerOptions consumerOptions) voidsetGroupId(String groupId) voidsetInputOptions(InputOptions inputOptions) voidsetInputPattern(Pattern inputPattern) voidsetInputTopics(List<String> inputTopics) voidsetLabeledInputPatterns(Map<String, Pattern> labeledInputPatterns) voidsetLabeledInputTopics(Map<String, List<String>> labeledInputTopics) voidsetPollTimeout(Duration pollTimeout) voidsetVolatileGroupInstanceId(boolean volatileGroupInstanceId) 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
-
KafkaConsumerApplication
public KafkaConsumerApplication()
-
-
Method Details
-
clean
public void clean()Reset the Kafka Consumer application. Additionally, delete the consumer group.- Overrides:
cleanin classKafkaApplication<ConsumerRunner,ConsumerCleanUpRunner, ConsumerExecutionOptions, ExecutableConsumerApp<T extends ConsumerApp>, ConfiguredConsumerApp<T extends ConsumerApp>, ConsumerTopicConfig, T extends ConsumerApp, ConsumerAppConfiguration>
-
reset
public void reset()Clear consumer group offsets of the Kafka Consumer application. -
createExecutionOptions
Description copied from class:KafkaApplicationCreate options for running the app- Specified by:
createExecutionOptionsin classKafkaApplication<ConsumerRunner,ConsumerCleanUpRunner, ConsumerExecutionOptions, ExecutableConsumerApp<T extends ConsumerApp>, ConfiguredConsumerApp<T extends ConsumerApp>, ConsumerTopicConfig, T extends ConsumerApp, ConsumerAppConfiguration> - Returns:
- run options if available
- See Also:
-
createTopicConfig
Description copied from class:KafkaApplicationTopics used by app- Specified by:
createTopicConfigin classKafkaApplication<ConsumerRunner,ConsumerCleanUpRunner, ConsumerExecutionOptions, ExecutableConsumerApp<T extends ConsumerApp>, ConfiguredConsumerApp<T extends ConsumerApp>, ConsumerTopicConfig, T extends ConsumerApp, ConsumerAppConfiguration> - Returns:
- topic configuration
-
createConfiguredApp
public final ConfiguredConsumerApp<T> createConfiguredApp(T app, ConsumerAppConfiguration configuration) Description copied from class:KafkaApplicationCreate a newConfiguredAppthat will be executed according to the given config.- Specified by:
createConfiguredAppin classKafkaApplication<ConsumerRunner,ConsumerCleanUpRunner, ConsumerExecutionOptions, ExecutableConsumerApp<T extends ConsumerApp>, ConfiguredConsumerApp<T extends ConsumerApp>, ConsumerTopicConfig, T extends ConsumerApp, ConsumerAppConfiguration> - 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<ConsumerRunner,ConsumerCleanUpRunner, ConsumerExecutionOptions, ExecutableConsumerApp<T extends ConsumerApp>, ConfiguredConsumerApp<T extends ConsumerApp>, ConsumerTopicConfig, T extends ConsumerApp, ConsumerAppConfiguration> - Parameters:
topics- topic configuration- Returns:
- configuration
-
onConsumerStart
Called after starting Kafka Consumer- Parameters:
runningConsumer- runningConsumerRunnableinstance along with itsConsumerConfig
-
toString
- Overrides:
toStringin classKafkaApplication<ConsumerRunner,ConsumerCleanUpRunner, ConsumerExecutionOptions, ExecutableConsumerApp<T extends ConsumerApp>, ConfiguredConsumerApp<T extends ConsumerApp>, ConsumerTopicConfig, T extends ConsumerApp, ConsumerAppConfiguration>
-
getInputOptions
-
getConsumerOptions
-
getPollTimeout
-
setInputOptions
-
setConsumerOptions
-
setPollTimeout
-
getInputTopics
-
getInputPattern
-
getLabeledInputTopics
-
getLabeledInputPatterns
-
setInputTopics
-
setInputPattern
-
setLabeledInputTopics
-
setLabeledInputPatterns
-
isVolatileGroupInstanceId
public boolean isVolatileGroupInstanceId() -
getGroupId
-
setVolatileGroupInstanceId
public void setVolatileGroupInstanceId(boolean volatileGroupInstanceId) -
setGroupId
-