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:
  • Field Details

    • RECEIVE_TIMEOUT_NO_WAIT

      public static final long RECEIVE_TIMEOUT_NO_WAIT
      Timeout value indicating that a receive operation should check if a message is immediately available without blocking.
      Since:
      4.3
      See Also:
    • RECEIVE_TIMEOUT_INDEFINITE_WAIT

      public static final long RECEIVE_TIMEOUT_INDEFINITE_WAIT
      Timeout value indicating a blocking receive without timeout.
      Since:
      4.3
      See Also:
  • Constructor Details

    • JmsDestinationAccessor

      public JmsDestinationAccessor()
  • Method Details

    • 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 SimpleDestinationResolver. Specify a JndiDestinationResolver for resolving destination names as JNDI locations.

      See Also:
    • 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).

      This setting primarily indicates 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:
    • isPubSubDomain

      public boolean isPubSubDomain()
      Return whether the Publish/Subscribe domain (Topics) is used. Otherwise, the Point-to-Point domain (Queues) is used.
    • resolveDestinationName

      protected jakarta.jms.Destination resolveDestinationName(jakarta.jms.Session session, String destinationName) throws jakarta.jms.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:
      jakarta.jms.JMSException - if resolution failed
      See Also:
    • receiveFromConsumer

      protected @Nullable jakarta.jms.Message receiveFromConsumer(jakarta.jms.MessageConsumer consumer, long timeout) throws jakarta.jms.JMSException
      Actually receive a message from the given consumer.
      Parameters:
      consumer - the JMS MessageConsumer to receive with
      timeout - the receive timeout (a negative value indicates a no-wait receive; 0 indicates an indefinite wait attempt)
      Returns:
      the JMS Message received, or null if none
      Throws:
      jakarta.jms.JMSException - if thrown by JMS API methods
      Since:
      4.3
      See Also: