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.

General Features of <strong>Advanced</strong> <strong>Queuing</strong><br />

event journals, which are often constructed by applications. <strong>Advanced</strong> <strong>Queuing</strong> is<br />

designed to let applications create event journals automatically.<br />

When an online order is placed, multiple messages are generated by the various<br />

applications involved in processing the order. <strong>Advanced</strong> <strong>Queuing</strong> offers features to<br />

track interrelated messages independent of the applications that generated them.<br />

You can determine who enqueued and dequeued messages, who the users are, and<br />

who did what operations.<br />

Queue-Level Access Control<br />

Nonpersistent Queues<br />

With <strong>Advanced</strong> <strong>Queuing</strong> tracking features, you can use SQL SELECT and JOIN<br />

statements to get order information from AQ$QUETABLENAME and the views ENQ_<br />

TRAN_ID, DEQ_TRAN_ID, USER_DATA (the payload), CORR_ID, and MSG_ID. These<br />

views contain the following data used for tracking:<br />

Transaction IDs—from ENQ_TRAN_ID and DEQ_TRAN_ID, captured during<br />

<br />

enqueuing and dequeuing.<br />

Correlation IDs—from CORR_ID, part of the message properties<br />

Message content that can be used for tracking—USER_DATA<br />

The owner of an 8.1-style queue can grant or revoke queue-level privileges on the<br />

queue. Database administrators can grant or revoke new AQ system-level privileges<br />

to any database user. Database administrators can also make any database user an<br />

AQ administrator.<br />

To see this feature applied in the context of the BooksOnLine scenario, refer to<br />

"Queue-Level Access Control" on page 8-4.<br />

<strong>Advanced</strong> <strong>Queuing</strong> can deliver nonpersistent messages asynchronously to<br />

subscribers. These messages can be event-driven and do not persist beyond the<br />

failure of the system (or instance). <strong>Advanced</strong> <strong>Queuing</strong> supports persistent and<br />

nonpersistent messages with a common API.<br />

To see this feature applied in the context of the BooksOnLine scenario, refer to<br />

"Nonpersistent Queues" on page 8-17.<br />

Support for <strong>Oracle</strong>9i Real Application Clusters<br />

An application can specify the instance affinity for a queue table. When <strong>Advanced</strong><br />

<strong>Queuing</strong> is used with Real Application Clusters and multiple instances, this<br />

1-10 <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!