Class ReactivePulsarTemplate<T>
java.lang.Object
org.springframework.pulsar.reactive.core.ReactivePulsarTemplate<T>
- Type Parameters:
T
- the message payload type
- All Implemented Interfaces:
ReactivePulsarOperations<T>
A template for executing high-level reactive Pulsar operations.
- Author:
- Christophe Bornet
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.pulsar.reactive.core.ReactivePulsarOperations
ReactivePulsarOperations.SendManyMessageBuilder<T>, ReactivePulsarOperations.SendMessageBuilder<O,
T>, ReactivePulsarOperations.SendOneMessageBuilder<T> -
Constructor Summary
ConstructorsConstructorDescriptionReactivePulsarTemplate
(ReactivePulsarSenderFactory<T> reactiveMessageSenderFactory) Construct a template instance that uses the default schema resolver and topic resolver.ReactivePulsarTemplate
(ReactivePulsarSenderFactory<T> reactiveMessageSenderFactory, SchemaResolver schemaResolver, TopicResolver topicResolver) Construct a template instance with a custom schema resolver and a custom topic resolver. -
Method Summary
Modifier and TypeMethodDescriptionnewMessage
(T message) Create abuilder
for configuring and sending a message reactively.newMessages
(org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages) Create abuilder
for configuring and sending multiple messages reactively.reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>>
send
(String topic, org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages) Sends multiple messages to the specified topic in a reactive manner.reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>>
send
(String topic, org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages, org.apache.pulsar.client.api.Schema<T> schema) Sends multiple messages to the specified topic in a reactive manner.reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId>
Sends a message to the specified topic in a reactive manner.reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId>
Sends a message to the specified topic in a reactive manner.reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>>
Sends multiple messages to the default topic in a reactive manner.reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>>
send
(org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages, org.apache.pulsar.client.api.Schema<T> schema) Sends multiple messages to the default topic in a reactive manner.reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId>
Sends a message to the default topic in a reactive manner.reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId>
Sends a message to the specified topic in a reactive manner.
-
Constructor Details
-
ReactivePulsarTemplate
Construct a template instance that uses the default schema resolver and topic resolver.- Parameters:
reactiveMessageSenderFactory
- the factory used to create the backing Pulsar reactive senders
-
ReactivePulsarTemplate
public ReactivePulsarTemplate(ReactivePulsarSenderFactory<T> reactiveMessageSenderFactory, SchemaResolver schemaResolver, TopicResolver topicResolver) Construct a template instance with a custom schema resolver and a custom topic resolver.- Parameters:
reactiveMessageSenderFactory
- the factory used to create the backing PulsarschemaResolver
- the schema resolver to usetopicResolver
- the topic resolver to use
-
-
Method Details
-
send
public reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId> send(@Nullable T message) Description copied from interface:ReactivePulsarOperations
Sends a message to the default topic in a reactive manner.- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
message
- the message to send- Returns:
- the id assigned by the broker to the published message
-
send
public reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId> send(@Nullable T message, @Nullable org.apache.pulsar.client.api.Schema<T> schema) Description copied from interface:ReactivePulsarOperations
Sends a message to the specified topic in a reactive manner. default topic- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
message
- the message to sendschema
- the schema to use ornull
to use the default schema resolution- Returns:
- the id assigned by the broker to the published message
-
send
public reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId> send(@Nullable String topic, @Nullable T message) Description copied from interface:ReactivePulsarOperations
Sends a message to the specified topic in a reactive manner.- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
topic
- the topic to send the message to ornull
to send to the default topicmessage
- the message to send- Returns:
- the id assigned by the broker to the published message
-
send
public reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId> send(@Nullable String topic, @Nullable T message, @Nullable org.apache.pulsar.client.api.Schema<T> schema) Description copied from interface:ReactivePulsarOperations
Sends a message to the specified topic in a reactive manner.- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
topic
- the topic to send the message to ornull
to send to the default topicmessage
- the message to sendschema
- the schema to use ornull
to use the default schema resolution- Returns:
- the id assigned by the broker to the published message
-
send
public reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>> send(org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages) Description copied from interface:ReactivePulsarOperations
Sends multiple messages to the default topic in a reactive manner.- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
messages
- the messages to send- Returns:
- the ids assigned by the broker to the published messages in the same order as they were sent
-
send
public reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>> send(org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages, @Nullable org.apache.pulsar.client.api.Schema<T> schema) Description copied from interface:ReactivePulsarOperations
Sends multiple messages to the default topic in a reactive manner.- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
messages
- the messages to sendschema
- the schema to use ornull
to use the default schema resolution- Returns:
- the ids assigned by the broker to the published messages in the same order as they were sent
-
send
public reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>> send(@Nullable String topic, org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages) Description copied from interface:ReactivePulsarOperations
Sends multiple messages to the specified topic in a reactive manner.- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
topic
- the topic to send the message to ornull
to send to the default topicmessages
- the messages to send- Returns:
- the ids assigned by the broker to the published messages in the same order as they were sent
-
send
public reactor.core.publisher.Flux<org.apache.pulsar.reactive.client.api.MessageSendResult<T>> send(@Nullable String topic, org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages, @Nullable org.apache.pulsar.client.api.Schema<T> schema) Description copied from interface:ReactivePulsarOperations
Sends multiple messages to the specified topic in a reactive manner.- Specified by:
send
in interfaceReactivePulsarOperations<T>
- Parameters:
topic
- the topic to send the message to ornull
to send to the default topicmessages
- the messages to sendschema
- the schema to use ornull
to use the default schema resolution- Returns:
- the ids assigned by the broker to the published messages in the same order as they were sent
-
newMessage
Description copied from interface:ReactivePulsarOperations
Create abuilder
for configuring and sending a message reactively.- Specified by:
newMessage
in interfaceReactivePulsarOperations<T>
- Parameters:
message
- the payload of the message- Returns:
- the builder to configure and send the message
-
newMessages
public ReactivePulsarOperations.SendManyMessageBuilder<T> newMessages(org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages) Description copied from interface:ReactivePulsarOperations
Create abuilder
for configuring and sending multiple messages reactively.- Specified by:
newMessages
in interfaceReactivePulsarOperations<T>
- Parameters:
messages
- the messages to send- Returns:
- the builder to configure and send the message
-