org.springframework.jms.support.destination

## Class DynamicDestinationResolver

- java.lang.Object
- - org.springframework.jms.support.destination.DynamicDestinationResolver

All Implemented Interfaces:
  DestinationResolver

    public class DynamicDestinationResolver
    extends Object
    implements DestinationResolver

Simple `DestinationResolver` implementation resolving destination names as dynamic destinations.

This implementation will work on both JMS 1.1 and JMS 1.0.2, because it uses the `QueueSession` or `TopicSession` methods if possible, falling back to JMS 1.1's generic `Session` methods.

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  `QueueSession.createQueue(java.lang.String)`, `TopicSession.createTopic(java.lang.String)`, `Session.createQueue(java.lang.String)`, `Session.createTopic(java.lang.String)`

### Constructor Summary

Constructors
Constructor and Description
`DynamicDestinationResolver()`

### Method Summary

Methods
`Destination` `resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)` Resolve the specified destination name as a dynamic destination.
`protected Queue` `resolveQueue(Session session, String queueName)` Resolve the given destination name to a `Queue`.
`protected Topic` `resolveTopic(Session session, String topicName)` Resolve the given destination name to a `Topic`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DynamicDestinationResolver

    public DynamicDestinationResolver()

### Method Detail

#### resolveDestinationName

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

Resolve the specified destination name as a dynamic destination.

Specified by:
  `resolveDestinationName` in interface `DestinationResolver`
Parameters:
  `session` - the current JMS Session
  `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 resolution failed
See Also:
  `resolveTopic(javax.jms.Session, String)`, `resolveQueue(javax.jms.Session, String)`

#### resolveTopic

    protected Topic resolveTopic(Session session,
                     String topicName)
                          throws JMSException

Resolve the given destination name to a `Topic`.

Parameters:
  `session` - the current JMS Session
  `topicName` - the name of the desired `Topic`
Returns:
  the JMS `Topic`
Throws:
  `JMSException` - if resolution failed
See Also:
  `Session.createTopic(String)`

#### resolveQueue

    protected Queue resolveQueue(Session session,
                     String queueName)
                          throws JMSException

Resolve the given destination name to a `Queue`.

Parameters:
  `session` - the current JMS Session
  `queueName` - the name of the desired `Queue`
Returns:
  the JMS `Queue`
Throws:
  `JMSException` - if resolution failed
See Also:
  `Session.createQueue(String)`