Class DefaultPulsarReaderFactory<T>

java.lang.Object
org.apache.pulsar.spring.core.DefaultPulsarReaderFactory<T>
Type Parameters:
T - message type
All Implemented Interfaces:
PulsarReaderFactory<T>

public class DefaultPulsarReaderFactory<T> extends Object implements PulsarReaderFactory<T>
Default implementation of PulsarReaderFactory.
Author:
Soby Chacko
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultPulsarReaderFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient)
    Construct a reader factory instance with no default configuration.
    DefaultPulsarReaderFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient, @Nullable List<ReaderBuilderCustomizer<T>> defaultConfigCustomizers)
    Construct a reader factory instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.pulsar.client.api.Reader<T>
    createReader(@Nullable List<String> topics, @Nullable org.apache.pulsar.client.api.MessageId messageId, org.apache.pulsar.client.api.Schema<T> schema, @Nullable List<ReaderBuilderCustomizer<T>> customizers)
    Creating a Pulsar Reader based on the provided topics, schema and properties.
    void
    setTopicBuilder(@Nullable PulsarTopicBuilder topicBuilder)
    Non-fully-qualified topic names specified on the created readers will be automatically fully-qualified with a default prefix (domain://tenant/namespace) according to the specified topic builder.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DefaultPulsarReaderFactory

      public DefaultPulsarReaderFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient)
      Construct a reader factory instance with no default configuration.
      Parameters:
      pulsarClient - the client used to consume
    • DefaultPulsarReaderFactory

      public DefaultPulsarReaderFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient, @Nullable List<ReaderBuilderCustomizer<T>> defaultConfigCustomizers)
      Construct a reader factory instance.
      Parameters:
      pulsarClient - the client used to consume
      defaultConfigCustomizers - the optional list of customizers to apply to the readers or null to use no default configuration
  • Method Details

    • setTopicBuilder

      public void setTopicBuilder(@Nullable PulsarTopicBuilder topicBuilder)
      Non-fully-qualified topic names specified on the created readers will be automatically fully-qualified with a default prefix (domain://tenant/namespace) according to the specified topic builder.
      Parameters:
      topicBuilder - the topic builder used to fully qualify topic names or null to not fully qualify topic names
      Since:
      1.2.0
    • createReader

      public org.apache.pulsar.client.api.Reader<T> createReader(@Nullable List<String> topics, @Nullable org.apache.pulsar.client.api.MessageId messageId, org.apache.pulsar.client.api.Schema<T> schema, @Nullable List<ReaderBuilderCustomizer<T>> customizers)
      Description copied from interface: PulsarReaderFactory
      Creating a Pulsar Reader based on the provided topics, schema and properties.
      Specified by:
      createReader in interface PulsarReaderFactory<T>
      Parameters:
      topics - set of topics to read from
      messageId - starting message id to read from
      schema - schema of the message to consume
      customizers - the optional list of customizers to apply to the reader builder. Note that the customizers are applied last and have the potential for overriding any specified parameters or default properties.
      Returns:
      the created reader