Friday, March 18, 2011

Creating an AQ queue for SOA consumption

Here is how to simply create an Oracle AQ called "MyQueue" to be used by your SOA Suite AQ Adapter. This AQ is of a message type SYS.XMLType which allows any XML payload to be stored.
BEGIN

  dbms_aqadm.stop_queue (queue_name => 'MyQueue');

  dbms_aqadm.drop_queue (queue_name => 'MyQueue');

  dbms_aqadm.drop_queue_table (queue_table => 'MyQueueTable');

  dbms_aqadm.create_queue_table(Queue_table => 'MyQueueTable',
                         Queue_payload_type => 'SYS.XMLType',
                         multiple_consumers => true,
                         sort_list          => 'priority,enq_time',
                         compatible         => '10.0.0');

  dbms_aqadm.create_queue (Queue_name => 'MyQueue',
                    Queue_table       => 'MyQueueTable');
                   
  dbms_aqadm.start_queue(queue_name   => 'MyQueue',
                    enqueue           => TRUE,
                    dequeue           => TRUE);
END;
/

Ahmed Aboulnaga

3 comments:

  1. I do not understand the meaning of dbms_aqadm.start_queue(queue_name => 'MyQueue',
    enqueue => TRUE,
    dequeue => TRUE);
    I would like to still reading about it, I want to have more information.

    ReplyDelete
  2. sql to enqueue a message ?

    ReplyDelete
  3. Check step #5 in this blog post:

    http://blog.raastech.com/2008/05/introduction-to-advanced-queues-aq.html

    ReplyDelete