Oracle AQ: enqueue and dequeue JMS message with PL/SQL
August 22, 2008 16:44:47 Last update: August 22, 2008 16:44:47
Enqueue:
Dequeue:
declare -- Local variables here queue_options DBMS_AQ.ENQUEUE_OPTIONS_T; message_properties DBMS_AQ.MESSAGE_PROPERTIES_T; message_id RAW(16); agent SYS.AQ$_AGENT := SYS.AQ$_AGENT(' ', null, 0); my_message SYS.AQ$_JMS_TEXT_MESSAGE; begin my_message := SYS.AQ$_JMS_TEXT_MESSAGE.construct; my_message.set_text('my test message'); -- Test statements here DBMS_AQ.ENQUEUE( queue_name => 'my_queue', enqueue_options => queue_options, message_properties => message_properties, payload => my_message, msgid => message_id); commit; end;
Dequeue:
declare queue_options DBMS_AQ.DEQUEUE_OPTIONS_T; message_properties DBMS_AQ.MESSAGE_PROPERTIES_T; message_id RAW(2000); my_message SYS.AQ$_JMS_TEXT_MESSAGE; msg_text varchar2(32767); begin DBMS_AQ.DEQUEUE( queue_name => 'my_queue', dequeue_options => queue_options, message_properties => message_properties, payload => my_message, msgid => message_id); commit; my_message.get_text(msg_text); DBMS_OUTPUT.put_line('JMS message: '||msg_text); end;
Easy email testing with http://www.ximailstop.com