Class ReactiveKafkaProducer<K,​V>

    • Method Detail

      • runOnSendingThread

        public <T> io.smallrye.mutiny.Uni<T> runOnSendingThread​(Function<org.apache.kafka.clients.producer.Producer<K,​V>,​T> action)
        Description copied from interface: KafkaProducer
        Runs an action on the sending thread.

        The action is a function taking as parameter the Producer and that returns a result (potentially null). The produced Uni emits the returned result when the action completes. If the action throws an exception, the produced Uni emits the exception as failure.

        If the action does not return a result, use KafkaProducer.runOnSendingThread(java.util.function.Consumer).

        Specified by:
        runOnSendingThread in interface KafkaProducer<K,​V>
        Type Parameters:
        T - the type of result, can be Void
        Parameters:
        action - the action to execute, must not be null
        Returns:
        the Uni emitting the result or the failure when the action completes.
      • runOnSendingThread

        public io.smallrye.mutiny.Uni<Void> runOnSendingThread​(Consumer<org.apache.kafka.clients.producer.Producer<K,​V>> action)
        Description copied from interface: KafkaProducer
        Runs an action on the sending thread.

        The action is a consumer receiving the Producer. The produced Uni emits null when the action completes. If the action throws an exception, the produced Uni emits the exception as failure.

        Specified by:
        runOnSendingThread in interface KafkaProducer<K,​V>
        Parameters:
        action - the action, must not be null
        Returns:
        the Uni emitting null or the failure when the action completes.
      • send

        public io.smallrye.mutiny.Uni<org.apache.kafka.clients.producer.RecordMetadata> send​(org.apache.kafka.clients.producer.ProducerRecord<K,​V> record)
        Description copied from interface: KafkaProducer
        Send a record to a topic. The returned Uni completes with RecordMetadata when the send has been acknowledged, or with an exception in case of an error.
        Specified by:
        send in interface KafkaProducer<K,​V>
      • flush

        public io.smallrye.mutiny.Uni<Void> flush()
        Description copied from interface: KafkaProducer
        Sends all buffered records immediately. The returned Uni completes when all requests belonging to the buffered records complete. In other words, when the returned Uni completes, all previous KafkaProducer.send(ProducerRecord) operations are known to be complete as well. No guarantee is made about the completion of records sent after flush was called.
        Specified by:
        flush in interface KafkaProducer<K,​V>
      • partitionsFor

        public io.smallrye.mutiny.Uni<List<org.apache.kafka.common.PartitionInfo>> partitionsFor​(String topic)
        Description copied from interface: KafkaProducer
        Returns a list of partition metadata for given topic.
        Specified by:
        partitionsFor in interface KafkaProducer<K,​V>
      • unwrap

        public org.apache.kafka.clients.producer.Producer<K,​V> unwrap()
        Specified by:
        unwrap in interface KafkaProducer<K,​V>
        Returns:
        the underlying producer. Be aware that to use it you needs to be on the sending thread.
      • configuration

        public Map<String,​?> configuration()
      • close

        public void close()