powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dequeue buffered massage
1 сообщений из 1, страница 1 из 1
dequeue buffered massage
    #39756830
Lemkoleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток. Подскажите, почему не получается извлечь буферизированное сообщение из очереди? Вроде, все правильно. Вот код:

declare

S UserType := new UserType();
l_msg_props dbms_aq.message_properties_t;
l_dequeue_opts dbms_aq.dequeue_options_t;
l_enqueue_opts dbms_aq.enqueue_options_t;
l_msg_id raw(16);
rcpt_list dbms_aq.aq$_recipient_list_t;
l_queue_name varchar2(38) := 'USERTYPES_QUEUE';

begin
dbms_aqadm.add_subscriber(queue_name => l_queue_name,
subscriber => sys.aq$_agent('SUBSCRIBER', null, null),
rule => '',
transformation => '',
queue_to_queue => false,
delivery_mode => dbms_aqadm.PERSISTENT_OR_BUFFERED);

l_enqueue_opts.delivery_mode := DBMS_AQ.BUFFERED;
l_enqueue_opts.visibility := DBMS_AQ.IMMEDIATE;
rcpt_list(1) := sys.aq$_agent('SUBSCRIBER', null, null);
l_msg_props.recipient_list := rcpt_list;
dbms_aq.enqueue(queue_name => l_queue_name,
enqueue_options => l_enqueue_opts,
message_properties => l_msg_props,
payload => S,
msgid => l_msg_id);

l_dequeue_opts.consumer_name := 'SUBSCRIBER';
l_dequeue_opts.visibility := DBMS_AQ.IMMEDIATE;
l_dequeue_opts.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
dbms_aq.dequeue(l_queue_name, l_dequeue_opts, l_msg_props, S, l_msg_id); -- зависает в ожидании
end;
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dequeue buffered massage
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]