Class DefaultDestinationTopicResolver

All Implemented Interfaces:
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
  • Constructor Details

    • DefaultDestinationTopicResolver

      public DefaultDestinationTopicResolver(Clock clock, org.springframework.context.ApplicationContext applicationContext)
  • 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 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(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.
    • addDestinationTopics

      public void addDestinationTopics(List<DestinationTopic> destinationsToAdd)
      Description copied from interface: DestinationTopicContainer
      Adds the provided destination topics to the container.
      Specified by:
      addDestinationTopics in interface DestinationTopicContainer
      Parameters:
      destinationsToAdd - the DestinationTopic list to add.
    • 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