Interface ReactivePulsarOperations<T>

Type Parameters:
T - the message payload type
All Known Implementing Classes:
ReactivePulsarTemplate

public interface ReactivePulsarOperations<T>
The Pulsar reactive send operations contract.
Author:
Christophe Bornet, Chris Bono
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
     
    static interface 
    Builder that can be used to configure and send a message.
    static interface 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    newMessage(T message)
    Create a builder for configuring and sending a message reactively.
    newMessages(org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages)
    Create a builder 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>
    send(String topic, T message)
    Sends a message to the specified topic in a reactive manner.
    reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId>
    send(String topic, T message, org.apache.pulsar.client.api.Schema<T> schema)
    Sends a message to the specified 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)
    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>
    send(T message)
    Sends a message to the default topic in a reactive manner.
    reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId>
    send(T message, org.apache.pulsar.client.api.Schema<T> schema)
    Sends a message to the specified topic in a reactive manner.
  • Method Details

    • send

      reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId> send(@Nullable T message)
      Sends a message to the default topic in a reactive manner.
      Parameters:
      message - the message to send
      Returns:
      the id assigned by the broker to the published message
    • send

      reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId> send(@Nullable T message, @Nullable org.apache.pulsar.client.api.Schema<T> schema)
      Sends a message to the specified topic in a reactive manner. default topic
      Parameters:
      message - the message to send
      schema - the schema to use or null to use the default schema resolution
      Returns:
      the id assigned by the broker to the published message
    • send

      reactor.core.publisher.Mono<org.apache.pulsar.client.api.MessageId> send(@Nullable String topic, @Nullable T message)
      Sends a message to the specified topic in a reactive manner.
      Parameters:
      topic - the topic to send the message to or null to send to the default topic
      message - the message to send
      Returns:
      the id assigned by the broker to the published message
    • send

      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)
      Sends a message to the specified topic in a reactive manner.
      Parameters:
      topic - the topic to send the message to or null to send to the default topic
      message - the message to send
      schema - the schema to use or null to use the default schema resolution
      Returns:
      the id assigned by the broker to the published message
    • send

      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)
      Sends multiple messages to the default topic in a reactive manner.
      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

      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)
      Sends multiple messages to the default topic in a reactive manner.
      Parameters:
      messages - the messages to send
      schema - the schema to use or null 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

      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)
      Sends multiple messages to the specified topic in a reactive manner.
      Parameters:
      topic - the topic to send the message to or null to send to the default topic
      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

      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)
      Sends multiple messages to the specified topic in a reactive manner.
      Parameters:
      topic - the topic to send the message to or null to send to the default topic
      messages - the messages to send
      schema - the schema to use or null 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

      Create a builder for configuring and sending a message reactively.
      Parameters:
      message - the payload of the message
      Returns:
      the builder to configure and send the message
    • newMessages

      ReactivePulsarOperations.SendManyMessageBuilder<T> newMessages(org.reactivestreams.Publisher<org.apache.pulsar.reactive.client.api.MessageSpec<T>> messages)
      Create a builder for configuring and sending multiple messages reactively.
      Parameters:
      messages - the messages to send
      Returns:
      the builder to configure and send the message