Annotation Interface ReactivePulsarListener
@Target({TYPE,METHOD,ANNOTATION_TYPE})
@Retention(RUNTIME)
@MessageMapping
@Documented
public @interface ReactivePulsarListener
Annotation that marks a method to be the target of a Pulsar message listener on the
specified topics.
The
containerFactory() identifies the
ReactivePulsarListenerContainerFactory to use to build the Pulsar listener
container. If not set, a default container factory is assumed to be available
with a bean name of pulsarListenerContainerFactory unless an explicit default
has been provided through configuration.
Processing of @ReactivePulsarListener annotations is performed by registering a
ReactivePulsarListenerAnnotationBeanPostProcessor. This can be done manually
or, more conveniently, through EnableReactivePulsar annotation.
- Author:
- Christophe Bornet
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionSet to true or false, to override the default setting in the container factory.A pseudo bean name used in SpEL expressions within this annotation to reference the current bean within which this listener is defined.Override the container factory'sconcurrencysetting for this listener.The bean name or a 'SpEL' expression that resolves to aReactiveMessageConsumerBuilderCustomizerto use to configure the consumer.The bean name of theReactivePulsarListenerContainerFactoryto use to create the message listener container responsible to serve this endpoint.The bean name or a 'SpEL' expression that resolves to aDeadLetterPolicyto use on the consumer to configure a dead letter policy for message redelivery.The unique identifier of the container for this listener.org.apache.pulsar.common.schema.SchemaTypePulsar schema type for this listener.booleanActivate stream consumption.Pulsar subscription name associated with this listener.org.apache.pulsar.client.api.SubscriptionTypePulsar subscription type for this listener.Topic patten to listen to.String[]Topics to listen to.Set to true or false, to override the default setting in the container factory.
-
Element Details
-
id
String idThe unique identifier of the container for this listener.If none is specified an auto-generated id is used.
SpEL
#{...}and property placeholders${...}are supported.- Returns:
- the
idfor the container managing for this endpoint. - See Also:
- Default:
- ""
-
subscriptionName
String subscriptionNamePulsar subscription name associated with this listener.- Returns:
- the
subscriptionNamefor this Pulsar listener endpoint.
- Default:
- ""
-
subscriptionType
org.apache.pulsar.client.api.SubscriptionType subscriptionTypePulsar subscription type for this listener.- Returns:
- the
subscriptionTypefor this listener
- Default:
- Exclusive
-
schemaType
org.apache.pulsar.common.schema.SchemaType schemaTypePulsar schema type for this listener.- Returns:
- the
schemaTypefor this listener
- Default:
- NONE
-
containerFactory
String containerFactoryThe bean name of theReactivePulsarListenerContainerFactoryto use to create the message listener container responsible to serve this endpoint.If not specified, the default container factory is used, if any. If a SpEL expression is provided (
#{...}), the expression can either evaluate to a container factory instance or a bean name.- Returns:
- the container factory bean name.
- Default:
- ""
-
topics
String[] topicsTopics to listen to.- Returns:
- a comma separated list of topics to listen from.
- Default:
- {}
-
topicPattern
String topicPatternTopic patten to listen to.- Returns:
- topic pattern to listen to.
- Default:
- ""
-
autoStartup
String autoStartupSet to true or false, to override the default setting in the container factory. May be a property placeholder or SpEL expression that evaluates to aBooleanor aString, in which case theBoolean.parseBoolean(String)is used to obtain the value.SpEL
#{...}and property place holders${...}are supported.- Returns:
- true to auto start, false to not auto start.
- Default:
- ""
-
stream
boolean streamActivate stream consumption.- Returns:
- if true, the listener method shall take a
Fluxas input argument.
- Default:
- false
-
beanRef
String beanRefA pseudo bean name used in SpEL expressions within this annotation to reference the current bean within which this listener is defined. This allows access to properties and methods within the enclosing bean. Default '__listener'.- Returns:
- the pseudo bean name.
- Default:
- "__listener"
-
concurrency
String concurrencyOverride the container factory'sconcurrencysetting for this listener. May be a property placeholder or SpEL expression that evaluates to aNumber, in which caseNumber.intValue()is used to obtain the value.SpEL
#{...}and property placeholders${...}are supported.- Returns:
- the concurrency.
- Default:
- ""
-
useKeyOrderedProcessing
String useKeyOrderedProcessingSet to true or false, to override the default setting in the container factory. May be a property placeholder or SpEL expression that evaluates to aBooleanor aString, in which case theBoolean.parseBoolean(String)is used to obtain the value.SpEL
#{...}and property place holders${...}are supported.- Returns:
- true to keep ordering by message key when concurrency > 1, false to not keep ordering.
- Default:
- ""
-
deadLetterPolicy
String deadLetterPolicyThe bean name or a 'SpEL' expression that resolves to aDeadLetterPolicyto use on the consumer to configure a dead letter policy for message redelivery.- Returns:
- the bean name or empty string to not set any dead letter policy.
- Default:
- ""
-
consumerCustomizer
String consumerCustomizerThe bean name or a 'SpEL' expression that resolves to aReactiveMessageConsumerBuilderCustomizerto use to configure the consumer.- Returns:
- the bean name or empty string to not configure the consumer.
- Default:
- ""
-