23.07.2013 Views

O'Reilly - Java Message Service

O'Reilly - Java Message Service

O'Reilly - Java Message Service

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A.2.6 QueueSender<br />

<strong>Java</strong> <strong>Message</strong> <strong>Service</strong><br />

A QueueSender is created by a QueueSession, usually for a specific queue. <strong>Message</strong>s sent<br />

by the QueueSender to a queue are delivered to a client connected to that queue. The<br />

QueueSender is a subtype of the <strong>Message</strong>Producer interface:<br />

public interface QueueSender extends <strong>Message</strong>Producer {<br />

public Queue getQueue( ) throws JMSException;<br />

public void send(<strong>Message</strong> message) throws JMSException;<br />

public void send(<strong>Message</strong> message, int deliveryMode, int priority,<br />

long timeToLive)<br />

throws JMSException;<br />

public void send(Queue queue, <strong>Message</strong> message) throws JMSException;<br />

public void send(Queue queue, <strong>Message</strong> message,int deliveryMode,<br />

int priority,long timeToLive)<br />

throws JMSException;<br />

}<br />

A.2.7 QueueSession<br />

The QueueSession is created by the QueueConnection. A QueueSession object is a factory<br />

for creating <strong>Message</strong>, QueueSender, and QueueReceiver objects. A client can create multiple<br />

QueueSession objects to provide more granular control over senders, receivers, and their<br />

associated transactions. The QueueSession is a subtype of the Session interface:<br />

public interface QueueSession extends Session {<br />

public Queue createQueue(java.lang.String queueName)<br />

throws JMSException;<br />

public QueueReceiver createReceiver(Queue queue)<br />

throws JMSException;<br />

public QueueReceiver createReceiver(Queue queue, String messageSelector)<br />

throws JMSException;<br />

public QueueSender createSender(Queue queue) throws JMSException;<br />

public QueueBrowser createBrowser(Queue queue) throws JMSException;<br />

public QueueBrowser createBrowser(Queue queue, String messageSelector)<br />

throws JMSException;<br />

public TemporaryQueue createTemporaryQueue( ) throws JMSException;<br />

}<br />

A.2.8 TemporaryQueue<br />

A TemporaryQueue is created by a QueueSession. A temporary queue is associated with the<br />

connection that belongs to the QueueSession that created it. It is only active for the duration<br />

of the session's connection, and is guaranteed to be unique across all connections. It lasts<br />

only as long as its associated client connection is active. In all other respects, a temporary<br />

queue is just like a "regular" queue. The TemporaryQueue is a subtype of the Queue<br />

interface.<br />

Since a temporary queue is created by a JMS client, it is unavailable to other JMS clients<br />

unless the queue identity is transferred using the JMSReplyTo header. While any client may<br />

send messages on another client's temporary queue, only the sessions that are associated<br />

with the JMS client connection that created the temporary queue may receive messages<br />

from it. JMS clients can also, of course, send messages to their own temporary queues:<br />

public interface TemporaryQueue extends Queue {<br />

public void delete( ) throws JMSException;<br />

}<br />

152

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!