Class KafkaProducer<K,V>

java.lang.Object
io.vertx.mutiny.kafka.client.producer.KafkaProducer<K,V>
All Implemented Interfaces:
MutinyDelegate, StreamBase, WriteStream<KafkaProducerRecord<K,V>>

public class KafkaProducer<K,V> extends Object implements MutinyDelegate, WriteStream<KafkaProducerRecord<K,V>>
Vert.x Kafka producer.

The WriteStream.write(T) provides global control over writing a record.

NOTE: This class has been automatically generated from the original non Mutiny-ified interface using Vert.x codegen.

  • Field Details

  • Constructor Details

    • KafkaProducer

      public KafkaProducer(io.vertx.kafka.client.producer.KafkaProducer delegate)
    • KafkaProducer

      public KafkaProducer(Object delegate, TypeArg<K> typeArg_0, TypeArg<V> typeArg_1)
    • KafkaProducer

      public KafkaProducer(io.vertx.kafka.client.producer.KafkaProducer delegate, TypeArg<K> typeArg_0, TypeArg<V> typeArg_1)
  • Method Details

    • getDelegate

      public io.vertx.kafka.client.producer.KafkaProducer getDelegate()
      Specified by:
      getDelegate in interface MutinyDelegate
      Specified by:
      getDelegate in interface StreamBase
      Specified by:
      getDelegate in interface WriteStream<K>
      Returns:
      the delegate used by this Mutiny object of generated type
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toSubscriber

      @CheckReturnValue public WriteStreamSubscriber<KafkaProducerRecord<K,V>> toSubscriber()
    • write

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> write(KafkaProducerRecord<K,V> arg0)
      Description copied from interface: WriteStream
      Same as but with an handler called when the operation completes

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Specified by:
      write in interface WriteStream<K>
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • writeAndAwait

      public Void writeAndAwait(KafkaProducerRecord<K,V> arg0)
      Description copied from interface: WriteStream
      Blocking variant of WriteStream.write(T).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Specified by:
      writeAndAwait in interface WriteStream<K>
      Returns:
      the Void instance produced by the operation.
    • writeAndForget

      public void writeAndForget(KafkaProducerRecord<K,V> arg0)
      Description copied from interface: WriteStream
      Variant of WriteStream.write(T) that ignores the result of the operation.

      This method subscribes on the result of WriteStream.write(T), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from WriteStream.write(T) but you don't need to compose it with other operations.

      Specified by:
      writeAndForget in interface WriteStream<K>
    • end

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> end()
      Description copied from interface: WriteStream
      Same as WriteStream.end() but with an handler called when the operation completes

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Specified by:
      end in interface WriteStream<K>
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • endAndAwait

      public Void endAndAwait()
      Description copied from interface: WriteStream
      Blocking variant of WriteStream.end().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Specified by:
      endAndAwait in interface WriteStream<K>
      Returns:
      the Void instance produced by the operation.
    • endAndForget

      public void endAndForget()
      Description copied from interface: WriteStream
      Variant of WriteStream.end() that ignores the result of the operation.

      This method subscribes on the result of WriteStream.end(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from WriteStream.end() but you don't need to compose it with other operations.

      Specified by:
      endAndForget in interface WriteStream<K>
    • end

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> end(KafkaProducerRecord<K,V> data)
      Description copied from interface: WriteStream
      Same as but with an handler called when the operation completes

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Specified by:
      end in interface WriteStream<K>
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • endAndAwait

      public Void endAndAwait(KafkaProducerRecord<K,V> data)
      Description copied from interface: WriteStream
      Blocking variant of WriteStream.end(T).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Specified by:
      endAndAwait in interface WriteStream<K>
      Returns:
      the Void instance produced by the operation.
    • endAndForget

      public void endAndForget(KafkaProducerRecord<K,V> data)
      Description copied from interface: WriteStream
      Variant of WriteStream.end(T) that ignores the result of the operation.

      This method subscribes on the result of WriteStream.end(T), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from WriteStream.end(T) but you don't need to compose it with other operations.

      Specified by:
      endAndForget in interface WriteStream<K>
    • writeQueueFull

      public boolean writeQueueFull()
      Specified by:
      writeQueueFull in interface WriteStream<K>
      Returns:
      true if write queue is full
    • createShared

      public static <K, V> KafkaProducer<K,V> createShared(Vertx vertx, String name, Map<String,String> config)
      Parameters:
      vertx - Vert.x instance to use
      name - the producer name to identify it
      config - Kafka producer configuration
      Returns:
      an instance of the KafkaProducer
    • createShared

      public static <K, V> KafkaProducer<K,V> createShared(Vertx vertx, String name, io.vertx.kafka.client.common.KafkaClientOptions options)
      Parameters:
      vertx - Vert.x instance to use
      name - the producer name to identify it
      options - Kafka producer options
      Returns:
      an instance of the KafkaProducer
    • createShared

      public static <K, V> KafkaProducer<K,V> createShared(Vertx vertx, String name, Map<String,String> config, Class<K> keyType, Class<V> valueType)
      Parameters:
      vertx - Vert.x instance to use
      name - the producer name to identify it
      config - Kafka producer configuration
      keyType - class type for the key serialization
      valueType - class type for the value serialization
      Returns:
      an instance of the KafkaProducer
    • createShared

      public static <K, V> KafkaProducer<K,V> createShared(Vertx vertx, String name, io.vertx.kafka.client.common.KafkaClientOptions options, Class<K> keyType, Class<V> valueType)
      Parameters:
      vertx - Vert.x instance to use
      name - the producer name to identify it
      options - Kafka producer options
      keyType - class type for the key serialization
      valueType - class type for the value serialization
      Returns:
      an instance of the KafkaProducer
    • create

      public static <K, V> KafkaProducer<K,V> create(Vertx vertx, Map<String,String> config)
      Parameters:
      vertx - Vert.x instance to use
      config - Kafka producer configuration
      Returns:
      an instance of the KafkaProducer
    • create

      public static <K, V> KafkaProducer<K,V> create(Vertx vertx, Map<String,String> config, Class<K> keyType, Class<V> valueType)
      Parameters:
      vertx - Vert.x instance to use
      config - Kafka producer configuration
      keyType - class type for the key serialization
      valueType - class type for the value serialization
      Returns:
      an instance of the KafkaProducer
    • initTransactions

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> initTransactions()
      Initializes the underlying kafka transactional producer. See initTransactions() ()}

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • initTransactionsAndAwait

      public Void initTransactionsAndAwait()
      Blocking variant of initTransactions().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Returns:
      the Void instance produced by the operation.
    • initTransactionsAndForget

      public KafkaProducer<K,V> initTransactionsAndForget()
      Variant of initTransactions() that ignores the result of the operation.

      This method subscribes on the result of initTransactions(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from initTransactions() but you don't need to compose it with other operations.

      Returns:
      the instance of KafkaProducer<K,V> to chain method calls.
    • beginTransaction

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> beginTransaction()
      Starts a new kafka transaction. See beginTransaction()

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • beginTransactionAndAwait

      public Void beginTransactionAndAwait()
      Blocking variant of beginTransaction().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Returns:
      the Void instance produced by the operation.
    • beginTransactionAndForget

      public KafkaProducer<K,V> beginTransactionAndForget()
      Variant of beginTransaction() that ignores the result of the operation.

      This method subscribes on the result of beginTransaction(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from beginTransaction() but you don't need to compose it with other operations.

      Returns:
      the instance of KafkaProducer<K,V> to chain method calls.
    • commitTransaction

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> commitTransaction()
      Commits the ongoing transaction. See commitTransaction()

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • commitTransactionAndAwait

      public Void commitTransactionAndAwait()
      Blocking variant of commitTransaction().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Returns:
      the Void instance produced by the operation.
    • commitTransactionAndForget

      public KafkaProducer<K,V> commitTransactionAndForget()
      Variant of commitTransaction() that ignores the result of the operation.

      This method subscribes on the result of commitTransaction(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from commitTransaction() but you don't need to compose it with other operations.

      Returns:
      the instance of KafkaProducer<K,V> to chain method calls.
    • abortTransaction

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> abortTransaction()
      Aborts the ongoing transaction. See KafkaProducer

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • abortTransactionAndAwait

      public Void abortTransactionAndAwait()
      Blocking variant of abortTransaction().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Returns:
      the Void instance produced by the operation.
    • abortTransactionAndForget

      public KafkaProducer<K,V> abortTransactionAndForget()
      Variant of abortTransaction() that ignores the result of the operation.

      This method subscribes on the result of abortTransaction(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from abortTransaction() but you don't need to compose it with other operations.

      Returns:
      the instance of KafkaProducer<K,V> to chain method calls.
    • exceptionHandler

      public KafkaProducer<K,V> exceptionHandler(Consumer<Throwable> handler)
      Specified by:
      exceptionHandler in interface StreamBase
      Specified by:
      exceptionHandler in interface WriteStream<K>
      Parameters:
      handler - the exception handler
      Returns:
    • setWriteQueueMaxSize

      public KafkaProducer<K,V> setWriteQueueMaxSize(int i)
      Specified by:
      setWriteQueueMaxSize in interface WriteStream<K>
      Parameters:
      i - the max size of the write stream
      Returns:
      a reference to this, so the API can be used fluently
    • drainHandler

      public KafkaProducer<K,V> drainHandler(Runnable handler)
      Specified by:
      drainHandler in interface WriteStream<K>
      Parameters:
      handler - the handler
      Returns:
    • send

      @CheckReturnValue public io.smallrye.mutiny.Uni<io.vertx.kafka.client.producer.RecordMetadata> send(KafkaProducerRecord<K,V> record)
      Asynchronously write a record to a topic

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      record - record to write
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • sendAndAwait

      public io.vertx.kafka.client.producer.RecordMetadata sendAndAwait(KafkaProducerRecord<K,V> record)
      Blocking variant of send(io.vertx.mutiny.kafka.client.producer.KafkaProducerRecord).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      record - record to write
      Returns:
      the RecordMetadata instance produced by the operation.
    • sendAndForget

      public KafkaProducer<K,V> sendAndForget(KafkaProducerRecord<K,V> record)
      Variant of send(io.vertx.mutiny.kafka.client.producer.KafkaProducerRecord) that ignores the result of the operation.

      This method subscribes on the result of send(io.vertx.mutiny.kafka.client.producer.KafkaProducerRecord), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from send(io.vertx.mutiny.kafka.client.producer.KafkaProducerRecord) but you don't need to compose it with other operations.

      Parameters:
      record - record to write
      Returns:
      the instance of KafkaProducer<K,V> to chain method calls.
    • partitionsFor

      @CheckReturnValue public io.smallrye.mutiny.Uni<List<io.vertx.kafka.client.common.PartitionInfo>> partitionsFor(String topic)
      Get the partition metadata for the give topic.

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      topic - topic partition for which getting partitions info
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • partitionsForAndAwait

      public List<io.vertx.kafka.client.common.PartitionInfo> partitionsForAndAwait(String topic)
      Blocking variant of partitionsFor(String).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      topic - topic partition for which getting partitions info
      Returns:
      the List instance produced by the operation.
    • partitionsForAndForget

      public KafkaProducer<K,V> partitionsForAndForget(String topic)
      Variant of partitionsFor(String) that ignores the result of the operation.

      This method subscribes on the result of partitionsFor(String), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from partitionsFor(String) but you don't need to compose it with other operations.

      Parameters:
      topic - topic partition for which getting partitions info
      Returns:
      the instance of KafkaProducer<K,V> to chain method calls.
    • flush

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> flush()
      Invoking this method makes all buffered records immediately available to write

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • flushAndAwait

      public Void flushAndAwait()
      Blocking variant of flush().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Returns:
      the Void instance produced by the operation.
    • flushAndForget

      public KafkaProducer<K,V> flushAndForget()
      Variant of flush() that ignores the result of the operation.

      This method subscribes on the result of flush(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from flush() but you don't need to compose it with other operations.

      Returns:
      the instance of KafkaProducer<K,V> to chain method calls.
    • close

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> close()
      Close the producer

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • closeAndAwait

      public Void closeAndAwait()
      Blocking variant of close().

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Returns:
      the Void instance produced by the operation.
    • closeAndForget

      public void closeAndForget()
      Variant of close() that ignores the result of the operation.

      This method subscribes on the result of close(), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from close() but you don't need to compose it with other operations.

    • close

      @CheckReturnValue public io.smallrye.mutiny.Uni<Void> close(long timeout)
      Close the producer

      Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

      Parameters:
      timeout - timeout to wait for closing
      Returns:
      the uni firing the result of the operation when completed, or a failure if the operation failed.
    • closeAndAwait

      public Void closeAndAwait(long timeout)
      Blocking variant of close(long).

      This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

      Parameters:
      timeout - timeout to wait for closing
      Returns:
      the Void instance produced by the operation.
    • closeAndForget

      public void closeAndForget(long timeout)
      Variant of close(long) that ignores the result of the operation.

      This method subscribes on the result of close(long), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from close(long) but you don't need to compose it with other operations.

      Parameters:
      timeout - timeout to wait for closing
    • create

      public static <K, V> KafkaProducer<K,V> create(Vertx vertx, org.apache.kafka.clients.producer.Producer<K,V> producer)
      Parameters:
      vertx - Vert.x instance to use
      producer - the Kafka producer to wrap
      Returns:
      an instance of the KafkaProducer
    • create

      public static <K, V> KafkaProducer<K,V> create(Vertx vertx, org.apache.kafka.clients.producer.Producer<K,V> producer, io.vertx.kafka.client.common.KafkaClientOptions options)
      Parameters:
      vertx - Vert.x instance to use
      producer - the Kafka producer to wrap
      options - options used only for tracing settings
      Returns:
      an instance of the KafkaProducer
    • newInstance

      public static <K, V> KafkaProducer<K,V> newInstance(io.vertx.kafka.client.producer.KafkaProducer arg)
    • newInstance

      public static <K, V> KafkaProducer<K,V> newInstance(io.vertx.kafka.client.producer.KafkaProducer arg, TypeArg<K> __typeArg_K, TypeArg<V> __typeArg_V)