Class DefaultPulsarProducerFactory<T>

java.lang.Object
org.springframework.pulsar.core.DefaultPulsarProducerFactory<T>
Type Parameters:
T - producer type.
All Implemented Interfaces:
PulsarProducerFactory<T>
Direct Known Subclasses:
CachingPulsarProducerFactory

public class DefaultPulsarProducerFactory<T> extends Object implements PulsarProducerFactory<T>
Default implementation of PulsarProducerFactory.
Author:
Soby Chacko, Chris Bono, Alexander Preuß, Christophe Bornet
  • Constructor Details

    • DefaultPulsarProducerFactory

      public DefaultPulsarProducerFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient, Map<String,Object> config)
  • Method Details

    • createProducer

      public org.apache.pulsar.client.api.Producer<T> createProducer(org.apache.pulsar.client.api.Schema<T> schema) throws org.apache.pulsar.client.api.PulsarClientException
      Description copied from interface: PulsarProducerFactory
      Create a producer.
      Specified by:
      createProducer in interface PulsarProducerFactory<T>
      Parameters:
      schema - the schema of the messages to be sent
      Returns:
      the producer
      Throws:
      org.apache.pulsar.client.api.PulsarClientException - if any error occurs
    • createProducer

      public org.apache.pulsar.client.api.Producer<T> createProducer(org.apache.pulsar.client.api.Schema<T> schema, @Nullable String topic) throws org.apache.pulsar.client.api.PulsarClientException
      Description copied from interface: PulsarProducerFactory
      Create a producer.
      Specified by:
      createProducer in interface PulsarProducerFactory<T>
      Parameters:
      schema - the schema of the messages to be sent
      topic - the topic the producer will send messages to or null to use the default topic
      Returns:
      the producer
      Throws:
      org.apache.pulsar.client.api.PulsarClientException - if any error occurs
    • createProducer

      public org.apache.pulsar.client.api.Producer<T> createProducer(org.apache.pulsar.client.api.Schema<T> schema, @Nullable String topic, @Nullable Collection<String> encryptionKeys, @Nullable List<ProducerBuilderCustomizer<T>> customizers) throws org.apache.pulsar.client.api.PulsarClientException
      Description copied from interface: PulsarProducerFactory
      Create a producer.
      Specified by:
      createProducer in interface PulsarProducerFactory<T>
      Parameters:
      schema - the schema of the messages to be sent
      topic - the topic the producer will send messages to or null to use the default topic
      encryptionKeys - the encryption keys used by the producer, replacing the default encryption keys or null to use the default encryption keys. Beware that ProducerBuilder only has ProducerBuilder.addEncryptionKey(java.lang.String) and doesn't have methods to replace the encryption keys.
      customizers - the optional list of customizers to apply to the producer builder
      Returns:
      the producer
      Throws:
      org.apache.pulsar.client.api.PulsarClientException - if any error occurs
    • doCreateProducer

      protected org.apache.pulsar.client.api.Producer<T> doCreateProducer(org.apache.pulsar.client.api.Schema<T> schema, @Nullable String topic, @Nullable Collection<String> encryptionKeys, @Nullable List<ProducerBuilderCustomizer<T>> customizers) throws org.apache.pulsar.client.api.PulsarClientException
      Create the actual producer.
      Parameters:
      schema - the schema of the messages to be sent
      topic - the topic the producer will send messages to or null to use the default topic
      encryptionKeys - the encryption keys used by the producer, replacing the default encryption keys or null to use the default encryption keys. Beware that ProducerBuilder only has ProducerBuilder.addEncryptionKey(java.lang.String) and doesn't have methods to replace the encryption keys.
      customizers - the optional list of customizers to apply to the producer builder
      Returns:
      the created producer
      Throws:
      org.apache.pulsar.client.api.PulsarClientException - if any error occurs
    • getProducerConfig

      public Map<String,Object> getProducerConfig()
      Description copied from interface: PulsarProducerFactory
      Return a map of configuration options to use when creating producers.
      Specified by:
      getProducerConfig in interface PulsarProducerFactory<T>
      Returns:
      the map of configuration options