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 appbooleanvoidreset()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
-
toString
- Overrides:
toStringin classKafkaApplication<ConsumerRunner,ConsumerCleanUpRunner, ConsumerExecutionOptions, ExecutableConsumerApp<T extends ConsumerApp>, ConfiguredConsumerApp<T extends ConsumerApp>, ConsumerTopicConfig, T extends ConsumerApp, ConsumerAppConfiguration>
-
getInputOptions
-
getConsumerOptions
-
setInputOptions
-
setConsumerOptions
-
getInputTopics
-
getInputPattern
-
getLabeledInputTopics
-
getLabeledInputPatterns
-
setInputTopics
-
setInputPattern
-
setLabeledInputTopics
-
setLabeledInputPatterns
-
isVolatileGroupInstanceId
public boolean isVolatileGroupInstanceId() -
getGroupId
-
getPollTimeout
-
setVolatileGroupInstanceId
public void setVolatileGroupInstanceId(boolean volatileGroupInstanceId) -
setGroupId
-
setPollTimeout
-