Oracle AQ: enqueue and dequeue JMS message with PL/SQL 

Joined:
04/09/2007
Posts:
703

August 22, 2008 16:44:47    Last update: August 22, 2008 16:44:47
Enqueue:

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;
Share |
| Comment  | Tags
 
Easy email testing with http://www.ximailstop.com