Package io.vertx.kafka.client.producer
Interface KafkaWriteStream<K,V>
-
- All Superinterfaces:
StreamBase
,WriteStream<org.apache.kafka.clients.producer.ProducerRecord<K,V>>
public interface KafkaWriteStream<K,V> extends WriteStream<org.apache.kafka.clients.producer.ProducerRecord<K,V>>
AWriteStream
for writing to KafkaProducerRecord
.The
WriteStream.write(Object)
provides global control over writing a record.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_MAX_SIZE
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description Future<Void>
abortTransaction()
Aborts the ongoing transaction.Future<Void>
beginTransaction()
Starts a new kafka transaction.Future<Void>
close()
Close the streamFuture<Void>
close(long timeout)
Close the streamFuture<Void>
commitTransaction()
Commits the ongoing transaction.static <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, KafkaClientOptions options)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, KafkaClientOptions options, Class<K> keyType, Class<V> valueType)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, KafkaClientOptions options, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, Map<String,Object> config)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, Map<String,Object> config, Class<K> keyType, Class<V> valueType)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, Map<String,Object> config, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, Properties config)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, Properties config, Class<K> keyType, Class<V> valueType)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, Properties config, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, org.apache.kafka.clients.producer.Producer<K,V> producer)
Create a new KafkaWriteStream instancestatic <K,V>
KafkaWriteStream<K,V>create(Vertx vertx, org.apache.kafka.clients.producer.Producer<K,V> producer, KafkaClientOptions options)
Create a new KafkaWriteStream instance.KafkaWriteStream<K,V>
drainHandler(Handler<Void> handler)
KafkaWriteStream<K,V>
exceptionHandler(Handler<Throwable> handler)
Future<Void>
flush()
Invoking this method makes all buffered records immediately available to writeFuture<Void>
initTransactions()
Initializes the underlying kafka transactional producer.Future<List<org.apache.kafka.common.PartitionInfo>>
partitionsFor(String topic)
Get the partition metadata for the give topic.Future<org.apache.kafka.clients.producer.RecordMetadata>
send(org.apache.kafka.clients.producer.ProducerRecord<K,V> record)
Asynchronously write a record to a topicKafkaWriteStream<K,V>
setWriteQueueMaxSize(int i)
org.apache.kafka.clients.producer.Producer<K,V>
unwrap()
-
Methods inherited from interface io.vertx.core.streams.WriteStream
end, end, write, writeQueueFull
-
-
-
-
Field Detail
-
DEFAULT_MAX_SIZE
static final int DEFAULT_MAX_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, Properties config)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useconfig
- Kafka producer configuration- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, Properties config, Class<K> keyType, Class<V> valueType)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useconfig
- Kafka producer configurationkeyType
- class type for the key serializationvalueType
- class type for the value serialization- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, Properties config, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useconfig
- Kafka producer configurationkeySerializer
- key serializervalueSerializer
- value serializer- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, Map<String,Object> config)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useconfig
- Kafka producer configuration- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, Map<String,Object> config, Class<K> keyType, Class<V> valueType)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useconfig
- Kafka producer configurationkeyType
- class type for the key serializationvalueType
- class type for the value serialization- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, Map<String,Object> config, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useconfig
- Kafka producer configurationkeySerializer
- key serializervalueSerializer
- value serializer- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, KafkaClientOptions options)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useoptions
- Kafka producer options- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, KafkaClientOptions options, Class<K> keyType, Class<V> valueType)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useoptions
- Kafka producer optionskeyType
- class type for the key serializationvalueType
- class type for the value serialization- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, KafkaClientOptions options, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valueSerializer)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useoptions
- Kafka producer optionskeySerializer
- key serializervalueSerializer
- value serializer- Returns:
- an instance of the KafkaWriteStream
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, org.apache.kafka.clients.producer.Producer<K,V> producer)
Create a new KafkaWriteStream instance- Parameters:
vertx
- Vert.x instance to useproducer
- native Kafka producer instance
-
create
static <K,V> KafkaWriteStream<K,V> create(Vertx vertx, org.apache.kafka.clients.producer.Producer<K,V> producer, KafkaClientOptions options)
Create a new KafkaWriteStream instance.- Parameters:
vertx
- Vert.x instance to useproducer
- native Kafka producer instanceoptions
- options used only for tracing settings
-
exceptionHandler
KafkaWriteStream<K,V> exceptionHandler(Handler<Throwable> handler)
- Specified by:
exceptionHandler
in interfaceStreamBase
- Specified by:
exceptionHandler
in interfaceWriteStream<K>
-
setWriteQueueMaxSize
KafkaWriteStream<K,V> setWriteQueueMaxSize(int i)
- Specified by:
setWriteQueueMaxSize
in interfaceWriteStream<K>
-
drainHandler
KafkaWriteStream<K,V> drainHandler(Handler<Void> handler)
- Specified by:
drainHandler
in interfaceWriteStream<K>
-
initTransactions
Future<Void> initTransactions()
Initializes the underlying kafka transactional producer. SeeKafkaProducer.initTransactions()
()}- Returns:
- a future notified with the result
-
beginTransaction
Future<Void> beginTransaction()
Starts a new kafka transaction. SeeKafkaProducer.beginTransaction()
- Returns:
- a future notified with the result
-
commitTransaction
Future<Void> commitTransaction()
Commits the ongoing transaction. SeeKafkaProducer.commitTransaction()
- Returns:
- a future notified with the result
-
abortTransaction
Future<Void> abortTransaction()
Aborts the ongoing transaction. SeeKafkaProducer.abortTransaction()
- Returns:
- a future notified with the result
-
send
Future<org.apache.kafka.clients.producer.RecordMetadata> send(org.apache.kafka.clients.producer.ProducerRecord<K,V> record)
Asynchronously write a record to a topic- Parameters:
record
- record to write- Returns:
- a
Future
completed with the record metadata
-
partitionsFor
Future<List<org.apache.kafka.common.PartitionInfo>> partitionsFor(String topic)
Get the partition metadata for the give topic.- Parameters:
topic
- topic partition for which getting partitions info- Returns:
- a future notified with the result
-
flush
Future<Void> flush()
Invoking this method makes all buffered records immediately available to write- Returns:
- a future notified with the result
-
close
Future<Void> close(long timeout)
Close the stream- Parameters:
timeout
- timeout to wait for closing- Returns:
- a future notified with the result
-
-