O'Reilly - Java Message Service
O'Reilly - Java Message Service
O'Reilly - Java Message Service
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