Annotation Type RetryableTopic
-
@Target(METHOD) @Retention(RUNTIME) @Documented public @interface RetryableTopic
Annotation to create the retry and dlt topics for aKafkaListener
annotated listener. SeeRetryTopicConfigurer
for usage examples.- Since:
- 2.7
- Author:
- Tomaz Fernandes, Gary Russell
- See Also:
RetryTopicConfigurer
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description int
attempts
The number of attempts made before the message is sent to the DLT.boolean
autoCreateTopics
Whether or not the topic should be created after registration with the provided configurations.org.springframework.retry.annotation.Backoff
backoff
Specify the backoff properties for retrying this operation.DltStrategy
dltStrategy
java.lang.String
dltTopicSuffix
The suffix that will be appended to the main topic in order to generate the dlt topic.java.lang.Class<? extends java.lang.Throwable>[]
exclude
The exceptions that should not be retried.FixedDelayStrategy
fixedDelayTopicStrategy
java.lang.Class<? extends java.lang.Throwable>[]
include
The exceptions that should be retried.java.lang.String
kafkaTemplate
The bean name of theKafkaTemplate
bean that will be used to forward the message to the retry and Dlt topics.java.lang.String
listenerContainerFactory
The bean name of theConcurrentKafkaListenerContainerFactory
that will be used to create the consumers for the retry and dlt topics.int
numPartitions
The number of partitions for the automatically created topics.short
replicationFactor
The replication factor for the automatically created topics.java.lang.String
retryTopicSuffix
The suffix that will be appended to the main topic in order to generate the retry topics.long
timeout
The amount of time in milliseconds after which message retrying should give up and send the message to the DLT.TopicSuffixingStrategy
topicSuffixingStrategy
The suffix that will be appended to the main topic in order to generate the dlt topic.boolean
traversingCauses
Whether or not the captured exception should be traversed to look for the exceptions provided above.
-
-
-
-
backoff
org.springframework.retry.annotation.Backoff backoff
Specify the backoff properties for retrying this operation. The default is a simpleBackoff
specification with no properties - see it's documentation for defaults.- Returns:
- a backoff specification
- Default:
- @org.springframework.retry.annotation.Backoff
-
-
-
kafkaTemplate
java.lang.String kafkaTemplate
The bean name of theKafkaTemplate
bean that will be used to forward the message to the retry and Dlt topics. If not specified, a bean with name retryTopicDefaultKafkaTemplate will be looked up.- Returns:
- the kafkaTemplate bean name.
- Default:
- ""
-
-
-
listenerContainerFactory
java.lang.String listenerContainerFactory
The bean name of theConcurrentKafkaListenerContainerFactory
that will be used to create the consumers for the retry and dlt topics. If none is provided, the one from theKafkaListener
annotation is used, or else a default one, if any.- Returns:
- the listenerContainerFactory bean name.
- Default:
- ""
-
-
-
autoCreateTopics
boolean autoCreateTopics
Whether or not the topic should be created after registration with the provided configurations. Not to be confused with the ConsumerConfig.ALLOW_AUTO_CREATE_TOPICS_CONFIG from Kafka configuration, which is handled by theKafkaConsumer
.- Returns:
- the configuration.
- Default:
- true
-
-
-
topicSuffixingStrategy
TopicSuffixingStrategy topicSuffixingStrategy
The suffix that will be appended to the main topic in order to generate the dlt topic.- Returns:
- the dlt suffix.
- Default:
- org.springframework.kafka.retrytopic.TopicSuffixingStrategy.SUFFIX_WITH_DELAY_VALUE
-
-
-
dltStrategy
DltStrategy dltStrategy
- Default:
- org.springframework.kafka.retrytopic.DltStrategy.ALWAYS_RETRY_ON_ERROR
-
-
-
fixedDelayTopicStrategy
FixedDelayStrategy fixedDelayTopicStrategy
- Default:
- org.springframework.kafka.retrytopic.FixedDelayStrategy.MULTIPLE_TOPICS
-
-