Class DefaultDestinationTopicResolver
java.lang.Object
org.springframework.kafka.listener.KafkaExceptionLogLevelAware
org.springframework.kafka.listener.ExceptionClassifier
org.springframework.kafka.retrytopic.DefaultDestinationTopicResolver
- All Implemented Interfaces:
EventListener
,ApplicationListener<ContextRefreshedEvent>
,DestinationTopicContainer
,DestinationTopicResolver
public class DefaultDestinationTopicResolver
extends ExceptionClassifier
implements DestinationTopicResolver, ApplicationListener<ContextRefreshedEvent>
Default implementation of the DestinationTopicResolver interface.
The container is closed when a
ContextRefreshedEvent
is received
and no more destinations can be added after that.- Since:
- 2.7
- Author:
- Tomaz Fernandes, Gary Russell, Yvette Quinby
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultDestinationTopicResolver
(Clock clock, ApplicationContext applicationContext) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDestinationTopics
(List<DestinationTopic> destinationsToAdd) Adds the provided destination topics to the container.getDestinationTopicByName
(String topic) Returns the DestinationTopic instance registered for that topic.boolean
Return true if the application context is refreshed.void
resolveDestinationTopic
(String topic, Integer attempt, Exception e, long originalTimestamp) Resolves the destination topic for the failed message.Methods inherited from class org.springframework.kafka.listener.ExceptionClassifier
addNotRetryableExceptions, addRetryableExceptions, defaultFalse, getClassifier, removeClassification, removeNotRetryableException, setClassifications
Methods inherited from class org.springframework.kafka.listener.KafkaExceptionLogLevelAware
getLogLevel, setLogLevel
-
Constructor Details
-
DefaultDestinationTopicResolver
-
-
Method Details
-
resolveDestinationTopic
public DestinationTopic resolveDestinationTopic(String topic, Integer attempt, Exception e, long originalTimestamp) Description copied from interface:DestinationTopicResolver
Resolves the destination topic for the failed message.- Specified by:
resolveDestinationTopic
in interfaceDestinationTopicResolver
- Parameters:
topic
- the current topic for the message.attempt
- the number of processing attempts already made for that message.e
- the exception the message processing has thrownoriginalTimestamp
- the time when the first attempt to process the message threw an exception.- Returns:
- the
DestinationTopic
for the given parameters.
-
getDestinationTopicByName
Description copied from interface:DestinationTopicContainer
Returns the DestinationTopic instance registered for that topic.- Specified by:
getDestinationTopicByName
in interfaceDestinationTopicContainer
- Parameters:
topic
- the topic name of the DestinationTopic to be returned.- Returns:
- the DestinationTopic instance registered for that topic.
-
addDestinationTopics
Description copied from interface:DestinationTopicContainer
Adds the provided destination topics to the container.- Specified by:
addDestinationTopics
in interfaceDestinationTopicContainer
- Parameters:
destinationsToAdd
- theDestinationTopic
list to add.
-
onApplicationEvent
- Specified by:
onApplicationEvent
in interfaceApplicationListener<ContextRefreshedEvent>
-
isContextRefreshed
public boolean isContextRefreshed()Return true if the application context is refreshed.- Returns:
- true if refreshed.
- Since:
- 2.7.8
-