Class DefaultDestinationTopicResolver

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

    public class DefaultDestinationTopicResolver
    extends java.lang.Object
    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
    • Constructor Detail

      • DefaultDestinationTopicResolver

        public DefaultDestinationTopicResolver​(java.time.Clock clock)
    • 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>