Oracle AQ требует - PullRequest
       27

Oracle AQ требует

1 голос
/ 09 мая 2011

Я пытаюсь записать универсальное pl / sql в (пере) ставить в очередь уже помещенное в очередь сообщение (присутствует в таблице очередей в любом состоянии).

Работает нормально, когда в очереди включена очередь, поэтому я могу сначала удалить из очереди в режиме просмотра, чтобы заполнить DBMS_AQ.message_properties_t и загрузить из существующего сообщения. Но как я могу получить их, когда отключен dequeue?

  DBMS_AQ.enqueue(
       queue_name          => fine,
       enqueue_options     => fine,
       message_properties  => how from existing message,
       payload             => how from existing message 
                                     (probably can select, not big deal),
       msgid               => fine);

Спасибо

Ответы [ 2 ]

1 голос
/ 23 сентября 2014

Вы ИМЕЕТ , чтобы включить DEQUEUING, чтобы получить сообщение, независимо от того, в просмотрите или удалить режим:

begin
   sys.dbms_aqadm.start_queue('[QUEUE_NAME]', true, true);
end;
/
1 голос
/ 09 мая 2011

На сайте Oracle есть отличный пример того, как это сделать: http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96587/apexampl.htm

По сути, вы можете "удалить" из очереди неразрушающим способом (в случае использования Internet Explorer в целях просмотра).Поскольку вы не удаляете очередь из очереди, сообщение все еще остается на месте.

...