В Eclipse: щелкните правой кнопкой мыши проект-> Maven-> Обновить проект-> Проверить флажок «Принудительное обновление снимков / выпусков». Нажмите OK.
Простая проверка, находится ли в очереди сообщение с заданным приоритетом. Замените aqtab
на имя таблицы вашей очереди
select * from aqtab where priority = 10 order by ENQ_TIME;
Очень вероятно, что вы не увидите беспорядка, так как это условие priority = 10
просто добавляется в запрос, выполняющий очередь.
Обратите внимание, что для установки приоритета сообщения вы используете свойства сообщения
l_message_properties dbms_aq.message_properties_t;
Просто назначьте требуемый приоритет ...
l_message_properties.priority := 10;
... и передать свойства в качестве параметра DBMS_AQ.enqueue
После commit
вы должны увидеть сообщение в таблице очередей, используя приведенный выше запрос, и вы сможете снять с deq_condition
Обе версии верны
dequeue_options.deq_condition := 'priority = 10';
dequeue_options.deq_condition := 'tab.priority = 10';
Но если вы используете условие deq, вам следует позаботиться о параметре navigation
. Самый простой вариант - повторить операцию удаления очереди после появления исключения. (снимок очереди будет сброшен).
или добавить dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;
.