Callback method which is executed after the injector is created and before any other lifecycle methods.
Callback method which is executed after the injector is created and before any other lifecycle methods.
Use the provided StreamsBuilder to create your KafkaStreams topology.
It is NOT expected that you block in this method as you will prevent completion of the server lifecycle.
Callback method which is executed after the injector is created and before KafkaStreams is configured.
Callback method which is executed after the injector is created and before KafkaStreams is configured.
Use the provided KafkaStreamsConfig and augment to configure your KafkaStreams topology.
Example:
override def streamsProperties(config: KafkaStreamsConfig): KafkaStreamsConfig = { super .streamsProperties(config) .retries(60) .retryBackoff(1.second) .consumer.sessionTimeout(10.seconds) .consumer.heartbeatInterval(1.second) .producer.retries(300) .producer.retryBackoff(1.second) .producer.requestTimeout(2.minutes) .producer.transactionTimeout(2.minutes) .producer.batchSize(500.kilobytes) }
the default KafkaStreamsConfig defined at createKafkaStreamsProperties
a KafkaStreamsConfig with your additional configurations applied.
FlushingAwareServer must be mixed in to servers that rely on manually controlling when a flush/commit occurs. As such, this trait will be needed when using the following classes, FlushingProcessor, FlushingTransformer, AsyncProcessor, AsyncTransformer, FinatraTransformer, and FinatraTransformerV2
This trait sets 'kafka.commit.interval' to 'Duration.Top' to disable the normal Kafka Streams commit process. As such the only commits that will occur are triggered manually, thus allowing us to control when flush/commit occurs