Class ReactiveKafkaProducerTemplate<K,V>
- java.lang.Object
-
- org.springframework.kafka.core.reactive.ReactiveKafkaProducerTemplate<K,V>
-
- Type Parameters:
K
- the key type.V
- the value type.
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.springframework.beans.factory.DisposableBean
public class ReactiveKafkaProducerTemplate<K,V> extends java.lang.Object implements java.lang.AutoCloseable, org.springframework.beans.factory.DisposableBean
Reactive kafka producer operations implementation.- Since:
- 2.3.0
- Author:
- Mark Norkin
-
-
Constructor Summary
Constructors Constructor Description ReactiveKafkaProducerTemplate(reactor.kafka.sender.SenderOptions<K,V> senderOptions)
ReactiveKafkaProducerTemplate(reactor.kafka.sender.SenderOptions<K,V> senderOptions, RecordMessageConverter messageConverter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
destroy()
<T> reactor.core.publisher.Mono<T>
doOnProducer(java.util.function.Function<org.apache.kafka.clients.producer.Producer<K,V>,? extends T> action)
reactor.core.publisher.Mono<java.lang.Void>
flush()
reactor.core.publisher.Flux<reactor.util.function.Tuple2<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric>>
metricsFromProducer()
reactor.core.publisher.Flux<org.apache.kafka.common.PartitionInfo>
partitionsFromProducerFor(java.lang.String topic)
reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>>
send(java.lang.String topic, int partition, long timestamp, K key, V value)
reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>>
send(java.lang.String topic, int partition, K key, V value)
reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>>
send(java.lang.String topic, K key, V value)
reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>>
send(java.lang.String topic, org.springframework.messaging.Message<?> message)
reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>>
send(java.lang.String topic, V value)
reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>>
send(org.apache.kafka.clients.producer.ProducerRecord<K,V> record)
<T> reactor.core.publisher.Flux<reactor.kafka.sender.SenderResult<T>>
send(org.reactivestreams.Publisher<? extends reactor.kafka.sender.SenderRecord<K,V,T>> records)
<T> reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<T>>
send(reactor.kafka.sender.SenderRecord<K,V,T> record)
<T> reactor.core.publisher.Flux<reactor.kafka.sender.SenderResult<T>>
sendTransactionally(org.reactivestreams.Publisher<? extends reactor.kafka.sender.SenderRecord<K,V,T>> records)
<T> reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<T>>
sendTransactionally(reactor.kafka.sender.SenderRecord<K,V,T> record)
reactor.kafka.sender.TransactionManager
transactionManager()
-
-
-
Constructor Detail
-
ReactiveKafkaProducerTemplate
public ReactiveKafkaProducerTemplate(reactor.kafka.sender.SenderOptions<K,V> senderOptions)
-
ReactiveKafkaProducerTemplate
public ReactiveKafkaProducerTemplate(reactor.kafka.sender.SenderOptions<K,V> senderOptions, RecordMessageConverter messageConverter)
-
-
Method Detail
-
sendTransactionally
public <T> reactor.core.publisher.Flux<reactor.kafka.sender.SenderResult<T>> sendTransactionally(org.reactivestreams.Publisher<? extends reactor.kafka.sender.SenderRecord<K,V,T>> records)
-
sendTransactionally
public <T> reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<T>> sendTransactionally(reactor.kafka.sender.SenderRecord<K,V,T> record)
-
send
public reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>> send(java.lang.String topic, V value)
-
send
public reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>> send(java.lang.String topic, K key, V value)
-
send
public reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>> send(java.lang.String topic, int partition, K key, V value)
-
send
public reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>> send(java.lang.String topic, int partition, long timestamp, K key, V value)
-
send
public reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>> send(java.lang.String topic, org.springframework.messaging.Message<?> message)
-
send
public reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<java.lang.Void>> send(org.apache.kafka.clients.producer.ProducerRecord<K,V> record)
-
send
public <T> reactor.core.publisher.Mono<reactor.kafka.sender.SenderResult<T>> send(reactor.kafka.sender.SenderRecord<K,V,T> record)
-
send
public <T> reactor.core.publisher.Flux<reactor.kafka.sender.SenderResult<T>> send(org.reactivestreams.Publisher<? extends reactor.kafka.sender.SenderRecord<K,V,T>> records)
-
flush
public reactor.core.publisher.Mono<java.lang.Void> flush()
-
partitionsFromProducerFor
public reactor.core.publisher.Flux<org.apache.kafka.common.PartitionInfo> partitionsFromProducerFor(java.lang.String topic)
-
metricsFromProducer
public reactor.core.publisher.Flux<reactor.util.function.Tuple2<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric>> metricsFromProducer()
-
doOnProducer
public <T> reactor.core.publisher.Mono<T> doOnProducer(java.util.function.Function<org.apache.kafka.clients.producer.Producer<K,V>,? extends T> action)
-
transactionManager
public reactor.kafka.sender.TransactionManager transactionManager()
-
destroy
public void destroy()
- Specified by:
destroy
in interfaceorg.springframework.beans.factory.DisposableBean
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
-