09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Oracle</strong> JMS Extensions<br />

Using <strong>Oracle</strong> Java Message Service to Access AQ<br />

Five types of messages - ObjectMessage, StreamMessage, TextMessage,<br />

<br />

BytesMessage, MapMessage<br />

Synchronous and Asynchronous delivery of messages<br />

Message selection based on message header fields/properties<br />

<strong>Oracle</strong> JMS extensions include the following:<br />

Administrative API to create queue tables, queues and topics<br />

Point-to-multipoint communication using recipient lists for topics<br />

Message propagation between destinations. Allows the application to define<br />

<br />

remote subscribers.<br />

Supports transacted sessions that enable you to perform JMS as well as SQL<br />

<br />

operations in one atomic transaction.<br />

Message retention after messages have been dequeued<br />

Message delay - messages can be made visible after a certain delay<br />

Exception handling - messages are moved to exception queues if they cannot be<br />

<br />

processed successfully<br />

In addition to the standard JMS message types, <strong>Oracle</strong> supports AdtMessages.<br />

<br />

These are stored in the database as <strong>Oracle</strong> objects and hence the payload of the<br />

message can be queried after it is enqueued. Subscriptions can be defined on<br />

the contents of these messages as opposed to just the message properties.<br />

Topic browsing - allows durable subscribers to browse through the messages in<br />

<br />

a publish-subscribe (topic) destination, and optionally allows these subscribers<br />

to purge the browsed messages (so that they are no longer retained by AQ for<br />

that subscriber).<br />

Accessing Standard and <strong>Oracle</strong> JMS<br />

<strong>Oracle</strong> JMS uses JDBC to connect to the database, hence it applications can run as<br />

follows:<br />

Outside the database using the OCI8 or thin JDBC driver<br />

<br />

Inside <strong>Oracle</strong>8i JServer using the <strong>Oracle</strong> Server driver<br />

<br />

The standard JMS interfaces are in the javax.jms package.<br />

AQ Programmatic Environments 3-9

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

Saved successfully!

Ooh no, something went wrong!