Home » Server Options » Streams & AQ » Single instance of Callback procedures (Oracle DB 9.2.0.8 and Sun Unix)
Single instance of Callback procedures [message #336498] Sun, 27 July 2008 22:07
onetangiboy
Messages: 1
Registered: July 2008
Junior Member
Oracle DB version 9.2.0.8
AQ_TM_PROCESSES=5
JOB_QUEUE_PROCESSES=5

We use Oracle AQ to notify a callback procedure to dequeue a message and execute a separate procedure. We would like to ensure that the procedure completes execution before the next message is dequeued and processed. Is this possible? Currently if any messages are queued it does not wait for the prior message to complete which is causing resource contention.

Queue
DBMS_AQADM.CREATE_QUEUE
( queue_name => 'ESB_EM610_QUEUE',
queue_table => 'ESB_XML_QTAB');

DBMS_AQADM.grant_queue_privilege
(privilege => 'ALL',
queue_name => 'ESB_EM610_QUEUE',
grantee => 'tr_owner',
grant_option => FALSE);

dbms_aqadm.add_subscriber
( queue_name => 'ESB_EM610_QUEUE',
subscriber => sys.aq$_agent( 'recipient', null, null ) );

dbms_aq.register
( sys.aq$_reg_info_list(
sys.aq$_reg_info(
'ESB_EM610_QUEUE:RECIPIENT',
DBMS_AQ.NAMESPACE_AQ,
'plsql://ESB_Request_Queue.proc_dequeue_msg',
HEXTORAW('FF')) ) ,
1 );

Many thanks
Previous Topic: Function after dequeing
Next Topic: how to successfully remove archivelog with oracle streams
Goto Forum:
  


Current Time: Thu Mar 28 16:07:03 CDT 2024