09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

JMS Message Consumer Features<br />

{<br />

jms_session.rollback();<br />

booked_order = null;<br />

}<br />

}catch (JMSException ex)<br />

{ System.out.println("Exception " + ex) ;}<br />

return booked_order;<br />

}<br />

Asynchronously Receiving Message Using Message Listener<br />

Message Listener for a Message Consumer<br />

The JMS client can receive messages asynchronously by setting the<br />

MessageListener using the setMessageListener method available with the<br />

Consumer.<br />

When a message arrives for the message consumer, the onMessage method of the<br />

message listener is invoked with the message. The message listener can commit or<br />

abort the receipt of the message. The message listener will not receive messages if<br />

the JMS Connection has been stopped. The receive call must not be used to<br />

receive messages once the message listener has been set for the consumer.<br />

Example<br />

The application processing the new orders queue can be set up for asynchronously<br />

receiving messages from the queue.<br />

public class OrderListener implements MessageListener<br />

{<br />

QueueSession the_sess;<br />

/* constructor */<br />

OrderListener(QueueSession my_sess)<br />

{<br />

the_sess = my_sess;<br />

}<br />

/* message listener interface */<br />

public void onMessage(Message m)<br />

{<br />

ObjectMessage obj_msg;<br />

BolCustomer customer;<br />

BolOrder new_order = null;<br />

12-76 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong>

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

Saved successfully!

Ooh no, something went wrong!