Например, у меня есть расширенная очередь с 3 сообщениями.Если я пытаюсь удалить их из очереди, он работает нормально, но в моем приложении мне нужно удалить некоторые из них по MSGID.Я пробовал это с помощью команд SQL, но это сильно задерживает, и затем я получаю тайм-аут.
Расширенная очередь:
CREATE_QUEUE_TABLE (
queue_table => 'AQUSER.event_message_queue_qt',
queue_payload_type => 'AQUSER.EventMessageType',
sort_list => 'ENQ_TIME, PRIORITY');
CREATE_QUEUE (
queue_name => 'AQUSER.event_message_queue',
queue_table => 'AQUSER.event_message_queue_qt',
max_retries=> 10,
retry_delay=> 600);
CREATE_QUEUE (
queue_name => 'AQUSER.event_message_queue_ex_q',
queue_table => 'AQUSER.event_message_queue_qt',
queue_type => DBMS_AQADM.EXCEPTION_QUEUE);
Пытается удалить по MSGID:
select * from event_message_queue_qt
where Q_NAME = 'event_message_queue_ex_q'
and MSGID = '6AA2E0C9A14ABA97E053119A14333514'