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
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 Summary
Modifier and TypeFieldDescriptionstatic final long
Timeout value indicating a blocking receive without timeout.static final long
Timeout value indicating that a receive operation should check if a message is immediately available without blocking.Fields inherited from class org.springframework.jms.support.JmsAccessor
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturn the DestinationResolver for this accessor (nevernull
).boolean
Return whether the Publish/Subscribe domain (Topics
) is used.protected Message
receiveFromConsumer
(MessageConsumer consumer, long timeout) Actually receive a message from the given consumer.protected Destination
resolveDestinationName
(Session session, String destinationName) Resolve the given destination name into a JMSDestination
, via this accessor'sDestinationResolver
.void
setDestinationResolver
(DestinationResolver destinationResolver) Set theDestinationResolver
that is to be used to resolveDestination
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, obtainConnectionFactory, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName, setSessionTransacted
-
Field Details
-
RECEIVE_TIMEOUT_NO_WAIT
public static final long RECEIVE_TIMEOUT_NO_WAITTimeout 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_WAITTimeout value indicating a blocking receive without timeout.- Since:
- 4.3
- See Also:
-
-
Constructor Details
-
JmsDestinationAccessor
public JmsDestinationAccessor()
-
-
Method Details
-
setDestinationResolver
Set theDestinationResolver
that is to be used to resolveDestination
references for this accessor.The default resolver is a DynamicDestinationResolver. Specify a JndiDestinationResolver for resolving destination names as JNDI locations.
-
getDestinationResolver
Return the DestinationResolver for this accessor (nevernull
). -
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.
-
isPubSubDomain
public boolean isPubSubDomain() -
resolveDestinationName
protected Destination resolveDestinationName(Session session, String destinationName) throws JMSException Resolve the given destination name into a JMSDestination
, via this accessor'sDestinationResolver
.- Parameters:
session
- the current JMSSession
destinationName
- the name of the destination- Returns:
- the located
Destination
- Throws:
JMSException
- if resolution failed- See Also:
-
receiveFromConsumer
@Nullable protected Message receiveFromConsumer(MessageConsumer consumer, long timeout) throws JMSException Actually receive a message from the given consumer.- Parameters:
consumer
- the JMS MessageConsumer to receive withtimeout
- 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:
JMSException
- if thrown by JMS API methods- Since:
- 4.3
- See Also:
-