Class KafkaStreamsProducer

java.lang.Object
io.quarkus.kafka.streams.runtime.KafkaStreamsProducer

@Singleton public class KafkaStreamsProducer extends Object
Manages the lifecycle of a Kafka Streams pipeline. If there's a producer method returning a KS Topology, then this topology will be configured and started. Optionally, before starting the pipeline, this manager will wait for a given set of topics to be created, as KS itself will fail without all input topics being created upfront.
  • Constructor Details

    • KafkaStreamsProducer

      @Inject public KafkaStreamsProducer(KafkaStreamsSupport kafkaStreamsSupport, KafkaStreamsRuntimeConfig runtimeConfig, ExecutorService executorService, jakarta.enterprise.inject.Instance<org.apache.kafka.streams.Topology> topology, jakarta.enterprise.inject.Instance<org.apache.kafka.streams.KafkaClientSupplier> kafkaClientSupplier, @Identifier("default-kafka-broker") jakarta.enterprise.inject.Instance<Map<String,Object>> defaultConfiguration, jakarta.enterprise.inject.Instance<org.apache.kafka.streams.KafkaStreams.StateListener> stateListener, jakarta.enterprise.inject.Instance<org.apache.kafka.streams.processor.StateRestoreListener> globalStateRestoreListener, jakarta.enterprise.inject.Instance<org.apache.kafka.streams.errors.StreamsUncaughtExceptionHandler> uncaughtExceptionHandlerListener)
  • Method Details

    • onStartup

      public void onStartup(@Observes StartupEvent event, jakarta.enterprise.event.Event<org.apache.kafka.streams.KafkaStreams> kafkaStreamsEvent)
    • getKafkaStreams

      @Produces @Singleton public org.apache.kafka.streams.KafkaStreams getKafkaStreams()
    • getStreamsConfig

      @Produces @Singleton public org.apache.kafka.streams.StreamsConfig getStreamsConfig()
    • kafkaStreamsTopologyManager

      @Produces @Singleton public KafkaStreamsTopologyManager kafkaStreamsTopologyManager()
    • onStop

      void onStop(@Observes ShutdownEvent event)