public interface

JmsOperations

org.springframework.jms.core.JmsOperations
Known Indirect Subclasses

Class Overview

Specifies a basic set of JMS operations.

Implemented by JmsTemplate. Not often used but a useful option to enhance testability, as it can easily be mocked or stubbed.

Provides JmsTemplate's send(..) and receive(..) methods that mirror various JMS API methods. See the JMS specification and javadocs for details on those methods.

See Also
  • JmsTemplate
  • javax.jms.Destination
  • javax.jms.Session
  • javax.jms.MessageProducer
  • javax.jms.MessageConsumer

Summary

Public Methods
abstract <T> T browse(Queue queue, BrowserCallback<T> action)
Browse messages in a JMS queue.
abstract <T> T browse(BrowserCallback<T> action)
Browse messages in the default JMS queue.
abstract <T> T browseSelected(String messageSelector, BrowserCallback<T> action)
Browse selected messages in a JMS queue.
abstract <T> T browseSelected(Queue queue, String messageSelector, BrowserCallback<T> action)
Browse selected messages in a JMS queue.
abstract void convertAndSend(Destination destination, Object message)
Send the given object to the specified destination, converting the object to a JMS message with a configured MessageConverter.
abstract void convertAndSend(Object message, MessagePostProcessor postProcessor)
Send the given object to the default destination, converting the object to a JMS message with a configured MessageConverter.
abstract void convertAndSend(Object message)
Send the given object to the default destination, converting the object to a JMS message with a configured MessageConverter.
abstract void convertAndSend(Destination destination, Object message, MessagePostProcessor postProcessor)
Send the given object to the specified destination, converting the object to a JMS message with a configured MessageConverter.
abstract <T> T execute(SessionCallback<T> action)
Execute the action specified by the given action object within a JMS Session.
abstract <T> T execute(ProducerCallback<T> action)
Send messages to the default JMS destination (or one specified for each send operation).
abstract <T> T execute(Destination destination, ProducerCallback<T> action)
Send messages to a JMS destination.
abstract Message receive(String destinationName)
Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.
abstract Message receive()
Receive a message synchronously from the default destination, but only wait up to a specified time for delivery.
abstract Message receive(Destination destination)
Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.
abstract Object receiveAndConvert()
Receive a message synchronously from the default destination, but only wait up to a specified time for delivery.
abstract Object receiveAndConvert(Destination destination)
Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.
abstract Message receiveSelected(String messageSelector)
Receive a message synchronously from the default destination, but only wait up to a specified time for delivery.
abstract Message receiveSelected(String destinationName, String messageSelector)
Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.
abstract Message receiveSelected(Destination destination, String messageSelector)
Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.
abstract Object receiveSelectedAndConvert(String messageSelector)
Receive a message synchronously from the default destination, but only wait up to a specified time for delivery.
abstract Object receiveSelectedAndConvert(Destination destination, String messageSelector)
Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.
abstract void send(MessageCreator messageCreator)
Send a message to the default destination.
abstract void send(Destination destination, MessageCreator messageCreator)
Send a message to the specified destination.

Public Methods

public abstract T browse (Queue queue, BrowserCallback<T> action)

Browse messages in a JMS queue. The callback gives access to the JMS Session and QueueBrowser in order to browse the queue and react to the contents.

Parameters
queue the queue to browse
action callback object that exposes the session/browser pair
Returns
  • the result object from working with the session
Throws
JmsException checked JMSException converted to unchecked

public abstract T browse (BrowserCallback<T> action)

Browse messages in the default JMS queue. The callback gives access to the JMS Session and QueueBrowser in order to browse the queue and react to the contents.

Parameters
action callback object that exposes the session/browser pair
Returns
  • the result object from working with the session
Throws
JmsException checked JMSException converted to unchecked

public abstract T browseSelected (String messageSelector, BrowserCallback<T> action)

Browse selected messages in a JMS queue. The callback gives access to the JMS Session and QueueBrowser in order to browse the queue and react to the contents.

Parameters
messageSelector the JMS message selector expression (or null if none). See the JMS specification for a detailed definition of selector expressions.
action callback object that exposes the session/browser pair
Returns
  • the result object from working with the session
Throws
JmsException checked JMSException converted to unchecked

public abstract T browseSelected (Queue queue, String messageSelector, BrowserCallback<T> action)

Browse selected messages in a JMS queue. The callback gives access to the JMS Session and QueueBrowser in order to browse the queue and react to the contents.

Parameters
queue the queue to browse
messageSelector the JMS message selector expression (or null if none). See the JMS specification for a detailed definition of selector expressions.
action callback object that exposes the session/browser pair
Returns
  • the result object from working with the session
Throws
JmsException checked JMSException converted to unchecked

public abstract void convertAndSend (Destination destination, Object message)

Send the given object to the specified destination, converting the object to a JMS message with a configured MessageConverter.

Parameters
destination the destination to send this message to
message the object to convert to a message
Throws
JmsException converted checked JMSException to unchecked

public abstract void convertAndSend (Object message, MessagePostProcessor postProcessor)

Send the given object to the default destination, converting the object to a JMS message with a configured MessageConverter. The MessagePostProcessor callback allows for modification of the message after conversion.

This will only work with a default destination specified!

Parameters
message the object to convert to a message
postProcessor the callback to modify the message
Throws
JmsException checked JMSException converted to unchecked

public abstract void convertAndSend (Object message)

Send the given object to the default destination, converting the object to a JMS message with a configured MessageConverter.

This will only work with a default destination specified!

Parameters
message the object to convert to a message
Throws
JmsException converted checked JMSException to unchecked

public abstract void convertAndSend (Destination destination, Object message, MessagePostProcessor postProcessor)

Send the given object to the specified destination, converting the object to a JMS message with a configured MessageConverter. The MessagePostProcessor callback allows for modification of the message after conversion.

Parameters
destination the destination to send this message to
message the object to convert to a message
postProcessor the callback to modify the message
Throws
JmsException checked JMSException converted to unchecked

public abstract T execute (SessionCallback<T> action)

Execute the action specified by the given action object within a JMS Session.

When used with a 1.0.2 provider, you may need to downcast to the appropriate domain implementation, either QueueSession or TopicSession in the action objects doInJms callback method.

Parameters
action callback object that exposes the session
Returns
  • the result object from working with the session
Throws
JmsException if there is any problem

public abstract T execute (ProducerCallback<T> action)

Send messages to the default JMS destination (or one specified for each send operation). The callback gives access to the JMS Session and MessageProducer in order to perform complex send operations.

Parameters
action callback object that exposes the session/producer pair
Returns
  • the result object from working with the session
Throws
JmsException checked JMSException converted to unchecked

public abstract T execute (Destination destination, ProducerCallback<T> action)

Send messages to a JMS destination. The callback gives access to the JMS Session and MessageProducer in order to perform complex send operations.

Parameters
destination the destination to send messages to
action callback object that exposes the session/producer pair
Returns
  • the result object from working with the session
Throws
JmsException checked JMSException converted to unchecked

public abstract Message receive (String destinationName)

Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

Parameters
destinationName the name of the destination to send this message to (to be resolved to an actual destination by a DestinationResolver)
Returns
  • the message received by the consumer, or null if the timeout expires
Throws
JmsException checked JMSException converted to unchecked

public abstract Message receive ()

Receive a message synchronously from the default destination, but only wait up to a specified time for delivery.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

This will only work with a default destination specified!

Returns
  • the message received by the consumer, or null if the timeout expires
Throws
JmsException checked JMSException converted to unchecked

public abstract Message receive (Destination destination)

Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

Parameters
destination the destination to receive a message from
Returns
  • the message received by the consumer, or null if the timeout expires
Throws
JmsException checked JMSException converted to unchecked

public abstract Object receiveAndConvert ()

Receive a message synchronously from the default destination, but only wait up to a specified time for delivery. Convert the message into an object with a configured MessageConverter.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

This will only work with a default destination specified!

Returns
  • the message produced for the consumer or null if the timeout expires.
Throws
JmsException checked JMSException converted to unchecked

public abstract Object receiveAndConvert (Destination destination)

Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery. Convert the message into an object with a configured MessageConverter.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

Parameters
destination the destination to receive a message from
Returns
  • the message produced for the consumer or null if the timeout expires.
Throws
JmsException checked JMSException converted to unchecked

public abstract Message receiveSelected (String messageSelector)

Receive a message synchronously from the default destination, but only wait up to a specified time for delivery.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

This will only work with a default destination specified!

Parameters
messageSelector the JMS message selector expression (or null if none). See the JMS specification for a detailed definition of selector expressions.
Returns
  • the message received by the consumer, or null if the timeout expires
Throws
JmsException checked JMSException converted to unchecked

public abstract Message receiveSelected (String destinationName, String messageSelector)

Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

Parameters
destinationName the name of the destination to send this message to (to be resolved to an actual destination by a DestinationResolver)
messageSelector the JMS message selector expression (or null if none). See the JMS specification for a detailed definition of selector expressions.
Returns
  • the message received by the consumer, or null if the timeout expires
Throws
JmsException checked JMSException converted to unchecked

public abstract Message receiveSelected (Destination destination, String messageSelector)

Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

Parameters
destination the destination to receive a message from
messageSelector the JMS message selector expression (or null if none). See the JMS specification for a detailed definition of selector expressions.
Returns
  • the message received by the consumer, or null if the timeout expires
Throws
JmsException checked JMSException converted to unchecked

public abstract Object receiveSelectedAndConvert (String messageSelector)

Receive a message synchronously from the default destination, but only wait up to a specified time for delivery. Convert the message into an object with a configured MessageConverter.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

This will only work with a default destination specified!

Parameters
messageSelector the JMS message selector expression (or null if none). See the JMS specification for a detailed definition of selector expressions.
Returns
  • the message produced for the consumer or null if the timeout expires.
Throws
JmsException checked JMSException converted to unchecked

public abstract Object receiveSelectedAndConvert (Destination destination, String messageSelector)

Receive a message synchronously from the specified destination, but only wait up to a specified time for delivery. Convert the message into an object with a configured MessageConverter.

This method should be used carefully, since it will block the thread until the message becomes available or until the timeout value is exceeded.

Parameters
destination the destination to receive a message from
messageSelector the JMS message selector expression (or null if none). See the JMS specification for a detailed definition of selector expressions.
Returns
  • the message produced for the consumer or null if the timeout expires.
Throws
JmsException checked JMSException converted to unchecked

public abstract void send (MessageCreator messageCreator)

Send a message to the default destination.

This will only work with a default destination specified!

Parameters
messageCreator callback to create a message
Throws
JmsException checked JMSException converted to unchecked

public abstract void send (Destination destination, MessageCreator messageCreator)

Send a message to the specified destination. The MessageCreator callback creates the message given a Session.

Parameters
destination the destination to send this message to
messageCreator callback to create a message
Throws
JmsException checked JMSException converted to unchecked