Transports and Interfaces: Siebel Enterprise Application Integration > EAI JMS Transport >

Creating JMS Queues


The first steps in configuring JMS messaging are creating the JMS user and queues in the Siebel Database. While not required, it is recommended to create the queues in the same database that Siebel Business Applications use, so that the queues and Siebel Server will be tightly coupled.

NOTE:  All database character sets must be the same, otherwise you might encounter encoding and formatting issues with the messages.

This task is a step in Roadmap for Configuring JMS Messaging Between Siebel Business Applications and Oracle SOA Suite Using Oracle Advanced Queuing.

To create the JMS queues

  1. Create the JMSUSER database user by running the following SQL script. The JMSUSER database user is used for queue access:

    DROP USER jmsuser CASCADE;

    CREATE USER jmsuser IDENTIFIED BY jmsuser;

    GRANT connect,resource,AQ_ADMINISTRATOR_ROLE TO jmsuser IDENTIFIED BY jmsuser;

    GRANT execute ON sys.dbms_aqadm TO jmsuser;

    GRANT execute ON sys.dbms_aq TO jmsuser;

    GRANT execute ON sys.dbms_aqin TO jmsuser;

    GRANT execute ON sys.dbms_aqjms TO jmsuser;

    connect jmsuser/jmsuser;

    NOTE:  The commands must run with a user who has system privileges on the designated database (for example, SYSTEM).

  2. Create the TESTJMSQTAB queue table by running the following SQL script. Queues use a queue table:

    Begin

    DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table =>'TESTJMSQTAB',Queue_payload_type =>'SYS.AQ$_JMS_MESSAGE', sort_list => 'PRIORITY,ENQ_TIME', multiple_consumers=>false, compatible =>'8.1.5');

    End;

  3. Create the TESTJMSQUEUE_IN inbound queue within TESTJMSQTAB by running the following SQL script:

    Begin

    DBMS_AQADM.CREATE_QUEUE(Queue_name =>'TESTJMSQUEUE_IN', Queue_table =>'TESTJMSQTAB');

    End;

  4. Create the TESTJMSQUEUE_OUT outbound queue within TESTJMSQTAB by running the following SQL script:

    Begin

    DBMS_AQADM.CREATE_QUEUE(Queue_name =>'TESTJMSQUEUE_OUT', Queue_table =>'TESTJMSQTAB');

    End;

  5. Start the queues by running the following SQL scripts:

    Begin

    sys.dbms_aqadm.start_queue(queue_name => 'TESTJMSQUEUE_IN', enqueue => TRUE, dequeue => TRUE);

    End;

    Begin

    sys.dbms_aqadm.start_queue(queue_name => 'TESTJMSQUEUE_OUT', enqueue => TRUE, dequeue => TRUE);

    End;

Transports and Interfaces: Siebel Enterprise Application Integration Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices.