JmsDestinationAccessor (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.jms.support.destination

## Class JmsDestinationAccessor

- java.lang.Object
- - org.springframework.jms.support.JmsAccessor
  - - org.springframework.jms.support.destination.JmsDestinationAccessor

- All Implemented Interfaces:
    InitializingBean
  Direct Known Subclasses:
    AbstractJmsListeningContainer, JmsTemplate

      public abstract class JmsDestinationAccessor
      extends JmsAccessor

  Base class for `JmsTemplate` and other JMS-accessing gateway helpers, adding destination-related properties to `JmsAccessor's` common properties.

  Not intended to be used directly. See `JmsTemplate`.

  Since:
    1.2.5
  Author:
    Juergen Hoeller
  See Also:
    `JmsAccessor`, `JmsTemplate`

- - ### Field Summary

    - ### Fields inherited from class org.springframework.jms.support.JmsAccessor

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JmsDestinationAccessor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DestinationResolver` | `getDestinationResolver()` Return the DestinationResolver for this accessor (never `null`).
    `boolean` | `isPubSubDomain()` Return whether the Publish/Subscribe domain (`Topics`) is used.
    `protected Destination` | `resolveDestinationName(Session session, String destinationName)` Resolve the given destination name into a JMS `Destination`, via this accessor's `DestinationResolver`.
    `void` | `setDestinationResolver(DestinationResolver destinationResolver)` Set the `DestinationResolver` that is to be used to resolve `Destination` references for this accessor.
    `void` | `setPubSubDomain(boolean pubSubDomain)` Configure the destination accessor with knowledge of the JMS domain used.

    - ### Methods inherited from class org.springframework.jms.support.JmsAccessor

      `afterPropertiesSet, convertJmsAccessException, createConnection, createSession, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName, setSessionTransacted`

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

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

- - ### Constructor Detail

    - #### JmsDestinationAccessor

          public JmsDestinationAccessor()

  - ### Method Detail

    - #### setDestinationResolver

          public void setDestinationResolver(DestinationResolver destinationResolver)

      Set the `DestinationResolver` that is to be used to resolve `Destination` references for this accessor.

      The default resolver is a DynamicDestinationResolver. Specify a JndiDestinationResolver for resolving destination names as JNDI locations.

      See Also:
        `DynamicDestinationResolver`, `JndiDestinationResolver`

    - #### getDestinationResolver

          public DestinationResolver getDestinationResolver()

      Return the DestinationResolver for this accessor (never `null`).

    - #### setPubSubDomain

          public void setPubSubDomain(boolean pubSubDomain)

      Configure the destination accessor with knowledge of the JMS domain used. Default is Point-to-Point (Queues).

      For JMS 1.0.2 based accessors, this tells the JMS provider which class hierarchy to use in the implementation of its operations. For JMS 1.1 based accessors, this setting does usually not affect operations. However, for both JMS versions, this setting tells what type of destination to resolve if dynamic destinations are enabled.

      Parameters:
        `pubSubDomain` - "true" for the Publish/Subscribe domain (`Topics`), "false" for the Point-to-Point domain (`Queues`)
      See Also:
        `setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver)`

    - #### isPubSubDomain

          public boolean isPubSubDomain()

      Return whether the Publish/Subscribe domain (`Topics`) is used. Otherwise, the Point-to-Point domain (`Queues`) is used.

    - #### resolveDestinationName

          protected Destination resolveDestinationName(Session session,
                                           String destinationName)
                                                throws JMSException

      Resolve the given destination name into a JMS `Destination`, via this accessor's `DestinationResolver`.
      Parameters:
        `session` - the current JMS `Session`
        `destinationName` - the name of the destination
      Returns:
        the located `Destination`
      Throws:
        `JMSException` - if resolution failed
      See Also:
        `setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver)`