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
|
|
|