org.springframework.jms.support.destination

## Interface DestinationResolver

- All Known Subinterfaces:
    CachingDestinationResolver
  All Known Implementing Classes:
    BeanFactoryDestinationResolver, DynamicDestinationResolver, JndiDestinationResolver
  Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

      @FunctionalInterface
      public interface DestinationResolver

  Strategy interface for resolving JMS destinations.

  Used by `JmsTemplate` for resolving destination names from simple `Strings` to actual `Destination` implementation instances.

  The default `DestinationResolver` implementation used by `JmsTemplate` instances is the `DynamicDestinationResolver` class. Consider using the `JndiDestinationResolver` for more advanced scenarios.

  Since:
    1.1
  Author:
    Juergen Hoeller
  See Also:
    `JmsDestinationAccessor.setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver)`, `DynamicDestinationResolver`, `JndiDestinationResolver`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Destination` | `resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)` Resolve the given destination name, either as located resource or as dynamic destination.

- - ### Method Detail

    - #### resolveDestinationName

          Destination resolveDestinationName(@Nullable
                                             Session session,
                                             String destinationName,
                                             boolean pubSubDomain)
                                      throws JMSException

      Resolve the given destination name, either as located resource or as dynamic destination.
      Parameters:
        `session` - the current JMS Session (may be `null` if the resolver implementation is able to work without it)
        `destinationName` - the name of the destination
        `pubSubDomain` - `true` if the domain is pub-sub, `false` if P2P
      Returns:
        the JMS destination (either a topic or a queue)
      Throws:
        `JMSException` - if the JMS Session failed to resolve the destination
        `DestinationResolutionException` - in case of general destination resolution failure