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 Questions<br />

(you must have the AQ background process running for this to happen). You can<br />

dequeue these messages from the exception queue with a normal dequeue.<br />

Is it possible to update the message payload after it has been<br />

enqueued?<br />

Only by dequeuing and enqueuing the message again. If you are changing the<br />

message payload, it is a different message.<br />

Can asynchronous notification be used to invoke an executable every<br />

time there is a new message?<br />

Notification is possible only to OCI clients. The client does not have to be connected<br />

to the database to receive notifications. The client specifies a callback function<br />

which will be executed for each message. Asynchronous Notification cannot be<br />

used to invoke an executable, but it is possible for the callback function to invoke a<br />

stored procedure.<br />

Does propagation work from multiconsumer queues to single-consumer<br />

queues and vice versa?<br />

Propagation from a multiconsumer queue to a single consumer queue is possible.<br />

The reverse is not possible (propagation is not possible from a single consumer<br />

queue).<br />

Why do I sometimes get ORA-1555 error on dequeue?<br />

You are probably using the NEXT_MESSAGE navigation option for dequeue. This<br />

uses the snapshot created during the first dequeue call. After that the other dequeue<br />

calls generate more undo which fills up the rollback segment and hence generates<br />

1555.<br />

The workaround is to use the FIRST_MESSAGE option to dequeue the message.<br />

This will reexecute the cursor and get a new snapshot. This might not perform as<br />

well, so we suggest you dequeue them in batches: FIRST_MESSAGE for one, and<br />

NEXT_MESSAGE for the next, say, 1000 messages, and then FIRST_MESSAGE again,<br />

and so on.<br />

What are the different subscriber types recorded on the subscriber<br />

table?<br />

The subscriber_types and their values are:<br />

1 - Current Subscriber. The subscribers name, address and protocol are in the same<br />

row.<br />

6-4 <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!