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 Summary

    Constructors
    Constructor
    Description
    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, 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 Summary

    Modifier and Type
    Method
    Description
    org.apache.kafka.streams.KafkaStreams
     
    org.apache.kafka.streams.StreamsConfig
     
     
    void
    onStartup(io.quarkus.runtime.StartupEvent event, jakarta.enterprise.event.Event<org.apache.kafka.streams.KafkaStreams> kafkaStreamsEvent)
     
    (package private) void
    onStop(io.quarkus.runtime.ShutdownEvent event)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 io.quarkus.runtime.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 io.quarkus.runtime.ShutdownEvent event)