Package org.springframework.pulsar.core
Class DefaultPulsarConsumerFactory<T>
java.lang.Object
org.springframework.pulsar.core.DefaultPulsarConsumerFactory<T>
- Type Parameters:
T- underlying payload type for the consumer.
- All Implemented Interfaces:
PulsarConsumerFactory<T>
Default implementation for
PulsarConsumerFactory.- Author:
- Soby Chacko, Alexander Preuß, Christophe Bornet
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultPulsarConsumerFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient, Map<String, Object> consumerConfig) Construct a consumer factory instance. -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.pulsar.client.api.Consumer<T>createConsumer(org.apache.pulsar.client.api.Schema<T> schema, Collection<String> topics, String subscriptionName, Map<String, String> metadataProperties, List<ConsumerBuilderCustomizer<T>> customizers) Create a consumer.org.apache.pulsar.client.api.Consumer<T>createConsumer(org.apache.pulsar.client.api.Schema<T> schema, Collection<String> topics, String subscriptionName, ConsumerBuilderCustomizer<T> customizer) Create a consumer.Return the configuration options to use when creating consumers.
-
Constructor Details
-
DefaultPulsarConsumerFactory
public DefaultPulsarConsumerFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient, Map<String, Object> consumerConfig) Construct a consumer factory instance.- Parameters:
pulsarClient- the client used to consumeconsumerConfig- default configuration to apply to the created consumer or empty map to use no default configuration
-
-
Method Details
-
createConsumer
public org.apache.pulsar.client.api.Consumer<T> createConsumer(org.apache.pulsar.client.api.Schema<T> schema, @Nullable Collection<String> topics, @Nullable String subscriptionName, ConsumerBuilderCustomizer<T> customizer) throws org.apache.pulsar.client.api.PulsarClientException Description copied from interface:PulsarConsumerFactoryCreate a consumer.- Specified by:
createConsumerin interfacePulsarConsumerFactory<T>- Parameters:
schema- the schema of the messages to be senttopics- the topics the consumer will subscribe to, replacing the default topics, ornullto use the default topics. Beware that usingConsumerBuilder.topic(java.lang.String...)orConsumerBuilder.topics(java.util.List<java.lang.String>)will add to the default topics, not override them. Also beware that specifyingnullwhen no default topic is configured will result in an exception.subscriptionName- the name to use for the subscription to the consumed topic(s) ornullto use the default configured subscription name. Beware that specifyingnullwhen no default subscription name is configured will result in an exceptioncustomizer- an optional customizer to apply to the consumer builder. Note that the customizer is applied last and has the potential for overriding any specified parameters or default properties.- Returns:
- the consumer
- Throws:
org.apache.pulsar.client.api.PulsarClientException- if any error occurs
-
createConsumer
public org.apache.pulsar.client.api.Consumer<T> createConsumer(org.apache.pulsar.client.api.Schema<T> schema, @Nullable Collection<String> topics, @Nullable String subscriptionName, @Nullable Map<String, String> metadataProperties, @Nullable List<ConsumerBuilderCustomizer<T>> customizers) throws org.apache.pulsar.client.api.PulsarClientExceptionDescription copied from interface:PulsarConsumerFactoryCreate a consumer.- Specified by:
createConsumerin interfacePulsarConsumerFactory<T>- Parameters:
schema- the schema of the messages to be senttopics- the topics the consumer will subscribe to, replacing the default topics, ornullto use the default topics. Beware that usingConsumerBuilder.topic(java.lang.String...)orConsumerBuilder.topics(java.util.List<java.lang.String>)will add to the default topics, not override them. Also beware that specifyingnullwhen no default topic is configured will result in an exception.subscriptionName- the name to use for the subscription to the consumed topic(s) ornullto use the default configured subscription name. Beware that specifyingnullwhen no default subscription name is configured will result in an exceptionmetadataProperties- the metadata properties to attach to the consumer, replacing the default metadata properties, ornullto use the default metadata properties. Beware that usingConsumerBuilder.property(java.lang.String, java.lang.String)orConsumerBuilder.properties(java.util.Map<java.lang.String, java.lang.String>)will add to the default metadata properties, not replace them.customizers- the optional list of customizers to apply to the consumer builder. Note that the customizers are applied last and have the potential for overriding any specified parameters or default properties.- Returns:
- the consumer
- Throws:
org.apache.pulsar.client.api.PulsarClientException- if any error occurs
-
getConsumerConfig
Description copied from interface:PulsarConsumerFactoryReturn the configuration options to use when creating consumers.- Specified by:
getConsumerConfigin interfacePulsarConsumerFactory<T>- Returns:
- the configuration options
-