Class DefaultDestinationTopicResolver

  • All Implemented Interfaces:
    java.util.EventListener, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>, DestinationTopicContainer, DestinationTopicResolver

    public class DefaultDestinationTopicResolver
    extends ExceptionClassifier
    implements DestinationTopicResolver, org.springframework.context.ApplicationListener<org.springframework.context.event.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
    • Constructor Detail

      • DefaultDestinationTopicResolver

        public DefaultDestinationTopicResolver​(java.time.Clock clock,
                                               org.springframework.context.ApplicationContext applicationContext)
    • Method Detail

      • resolveDestinationTopic

        public DestinationTopic resolveDestinationTopic​(java.lang.String topic,
                                                        java.lang.Integer attempt,
                                                        java.lang.Exception e,
                                                        long originalTimestamp)
        Description copied from interface: DestinationTopicResolver
        Resolves the destination topic for the failed message.
        Specified by:
        resolveDestinationTopic in interface DestinationTopicResolver
        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 thrown
        originalTimestamp - the time when the first attempt to process the message threw an exception.
        Returns:
        the DestinationTopic for the given parameters.
      • getDestinationTopicByName

        public DestinationTopic getDestinationTopicByName​(java.lang.String topic)
        Description copied from interface: DestinationTopicContainer
        Returns the DestinationTopic instance registered for that topic.
        Specified by:
        getDestinationTopicByName in interface DestinationTopicContainer
        Parameters:
        topic - the topic name of the DestinationTopic to be returned.
        Returns:
        the DestinationTopic instance registered for that topic.
      • onApplicationEvent

        public void onApplicationEvent​(org.springframework.context.event.ContextRefreshedEvent event)
        Specified by:
        onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
      • isContextRefreshed

        public boolean isContextRefreshed()
        Return true if the application context is refreshed.
        Returns:
        true if refreshed.
        Since:
        2.7.8