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, Chris Bono
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultPulsarConsumerFactory
(org.apache.pulsar.client.api.PulsarClient pulsarClient, List<ConsumerBuilderCustomizer<T>> defaultConfigCustomizers) 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.
-
Constructor Details
-
DefaultPulsarConsumerFactory
public DefaultPulsarConsumerFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient, List<ConsumerBuilderCustomizer<T>> defaultConfigCustomizers) Construct a consumer factory instance.- Parameters:
pulsarClient
- the client used to consumedefaultConfigCustomizers
- the optional list of customizers to apply to the created consumers or null 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:PulsarConsumerFactory
Create a consumer.- Specified by:
createConsumer
in interfacePulsarConsumerFactory<T>
- Parameters:
schema
- the schema of the messages to be senttopics
- the topics the consumer will subscribe to, replacing the default topics, ornull
to 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 specifyingnull
when no default topic is configured will result in an exception.subscriptionName
- the name to use for the subscription to the consumed topic(s) ornull
to use the default configured subscription name. Beware that specifyingnull
when 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:PulsarConsumerFactory
Create a consumer.- Specified by:
createConsumer
in interfacePulsarConsumerFactory<T>
- Parameters:
schema
- the schema of the messages to be senttopics
- the topics the consumer will subscribe to, replacing the default topics, ornull
to 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 specifyingnull
when no default topic is configured will result in an exception.subscriptionName
- the name to use for the subscription to the consumed topic(s) ornull
to use the default configured subscription name. Beware that specifyingnull
when no default subscription name is configured will result in an exceptionmetadataProperties
- the metadata properties to attach to the consumer, replacing the default metadata properties, ornull
to 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
-