Oracle9i Application Developer's Guide - Advanced Queuing
Release 1 (9.0.1)

Part Number A88890-02
Go To Documentation Library
Home
Go To Product List
Book List
Go To Index
Index

Master Index

Feedback

Go to next page

Contents

Title and Copyright Information

Send Us Your Comments

Preface

Audience
Organization
Related Documentation
Conventions
Documentation Accessibility

What's New in Advanced Queuing?

Oracle9i New Features in Advanced Queuing
Oracle8i New Features in Advanced Queuing

1 Introduction to Oracle Advanced Queuing

What Is Advanced Queuing?
Advanced Queuing in Integrated Application Environments
Interfaces to Advanced Queuing
Queuing System Requirements
General Features of Advanced Queuing
Point-to-Point and Publish-Subscribe Messaging
Oracle Internet Directory
Oracle Enterprise Manager Integration
Message Format Transformation
SQL Access
Support for Statistics Views
Structured Payloads
Retention and Message History
Tracking and Event Journals
Queue-Level Access Control
Nonpersistent Queues
Support for Oracle9i Real Application Clusters
XMLType Attributes in Object Types
Internet Integration and IDAP
Nonrepudiation and the AQ$<QueueTableName> View
Enqueue Features
Correlation Identifiers
Subscription and Recipient Lists
Priority and Ordering of Messages in Enqueuing
Message Grouping
Propagation
Sender Identification
Time Specification and Scheduling
Rule-Based Subscribers
Asynchronous Notification
Dequeue Features
Recipients
Navigation of Messages in Dequeuing
Modes of Dequeuing
Optimization of Waiting for the Arrival of Messages
Retries with Delays
Optional Transaction Protection
Exception Handling
Listen Capability (Wait on Multiple Queues)
Dequeue Message Header with No Payload
Propagation Features
Automated Coordination of Enqueuing and Dequeuing
Propagation of Messages with LOBs
Propagation Scheduling
Enhanced Propagation Scheduling Capabilities
Third-Party Support
Elements of Advanced Queuing
Message
Queue
Queue Table
Agent
Recipient
Recipient and Subscription Lists
Rule
Rule-Based Subscribers
Transformation
Queue Monitor
Java Messaging Service Terminology
Demos

2 Basic Components

Data Structures
Object Name (object_name)
Type Name (type_name)
Agent Type (aq$_agent)
AQ Recipient List Type (aq$_recipient_list_t)
AQ Agent List Type (aq$_agent_list_t)
AQ Subscriber List Type (aq$_subscriber_list_t)
AQ Registration Info List Type (aq$_reg_info_list)
AQ Post Info List Type (aq$_post_info_list)
AQ Registration Info Type
AQ Notification Descriptor Type
AQ Post Info Type
Enumerated Constants in the Administrative Interface
Enumerated Constants in the Operational Interface
INIT.ORA Parameter File Considerations
AQ_TM_PROCESSES Parameter
JOB_QUEUE_PROCESSES Parameter

3 AQ Programmatic Environments

Programmatic Environments for Accessing AQ
Using PL/SQL to Access AQ
Using OCI to Access AQ
Examples
Using Visual Basic (OO4O) to Access AQ
For More Information
Using AQ Java (oracle.AQ) Classes to Access AQ
Accessing Java AQ Classes
Advanced Queuing Examples
Managing the Java AQ API
Using Oracle Java Messaging Service to Access AQ
Standard JMS Features
Oracle JMS Extensions
Accessing Standard and Oracle JMS
For More Information
Using the AQ XML Servlet to Access AQ
Comparing AQ Programmatic Environments
AQ Administrative Interfaces
AQ Operational Interfaces

4 Managing AQ

Security
Administrator Role
User Role
Access to AQ Object Types
Oracle 8.1-Style Queues
Compatibility
Security
Privileges and Access Control
OCI Applications
Security Required for Propagation
Queue Table Export-Import
Exporting Queue Table Data
Importing Queue Table Data
Creating AQ Administrators and Users
Oracle Enterprise Manager Support
Using Advanced Queuing with XA
Restrictions on Queue Management
Collection Types in Message Payloads
Synonyms on Queue Tables and Queues
Tablespace Point-in-Time Recovery
Nonpersistent Queues
Propagation Issues
Execute Privileges Required for Propagation
The Number of Job Queue Processes
Optimizing Propagation
Propagation from Object Queues
Guidelines for Debugging AQ Propagation Problems
Oracle 8.0-Style Queues
Migrating To and From 8.0
Importing and Exporting with 8.0-Style Queues
Roles in 8.0
Security with 8.0-Style Queues
Access to AQ Object Types
OCI Application Access to 8.0-Style Queues
Pluggable Tablespaces and 8.0-Style Multiconsumer Queues
Autocommit Features in the DBMS_AQADM Package

5 Performance and Scalability

Performance Overview
Advanced Queuing in the Oracle Real Application Clusters Environment
Advanced Queuing in the Multi-threaded Server Environment
Basic Tuning Tips
Running Enqueue and Dequeue Processes Concurrently--Single Queue Table
Running Enqueue and Dequeue Processes in Serial--Single Queue Table
Propagation Tuning Tips

6 Frequently Asked Questions

General Questions
JMS Questions
Internet Access Questions
Oracle Internet Directory (OID) Questions - Global Agents, Global Events, and Global Queues
Transformation Questions
Performance Questions
Installation Questions

7 Modeling and Design

Modeling Queue Entities
Basic Queuing
Basic Queuing Illustrated
AQ Client-Server Communication
Multiple-Consumer Dequeuing of the Same Message
Dequeuing of Specified Messages by Specified Recipients
AQ Implementation of Workflows
AQ Implementation of Publish/Subscribe
Message Propagation

8 A Sample Application Using AQ

A Sample Application
General Features of Advanced Queuing
System-Level Access Control
Message Format Transformation
Structured Payloads
Queue Payloads Containing XMLType Attributes
Queue-Level Access Control
Nonpersistent Queues
Retention and Message History
Publish-Subscribe Support
Support for Oracle Real Application Clusters
Support for Statistics Views
Internet Access
Enqueue Features
Subscriptions and Recipient Lists
Priority and Ordering of Messages
Time Specification: Delay
Time Specification: Expiration
Message Grouping
Message Transformation During Enqueue
Enqueue Using the AQ XML Servlet
Dequeue Features
Dequeue Methods
Multiple Recipients
Local and Remote Recipients
Message Navigation in Dequeue
Modes of Dequeuing
Optimization of Waiting for Arrival of Messages
Retry with Delay Interval
Exception Handling
Rule-Based Subscription
Listen Capability
Message Transformation During Dequeue
Dequeue Using the AQ XML Servlet
Asynchronous Notifications
Registering for Notifications Using the AQ XML Servlet
Propagation Features
Propagation
Propagation Scheduling
Propagation of Messages with LOB Attributes
Enhanced Propagation Scheduling Capabilities
Exception Handling During Propagation
Message Format Transformation During Propagation
Propagation Using HTTP

9 Administrative Interface

Use Case Model: Administrative Interface -- Basic Operations
Creating a Queue Table
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM Package): Creating a Queue Table
VB (OO4O): Creating a Queue Table
Java (JDBC): Creating a Queue Table
Creating a Queue Table [Set Storage Clause]
Altering a Queue Table
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM Package): Altering a Queue Table
Java (JDBC): Altering a Queue Table
Dropping a Queue Table
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM Package): Dropping a Queue Table
Java (JDBC): Dropping a Queue Table
Creating a Queue
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Creating a Queue
Java (JDBC): Creating a Queue
Creating a Nonpersistent Queue
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Creating a Nonpersistent Queue
Java (JDBC): Creating a Nonpersistent Queue
Altering a Queue
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Altering a Queue
Java (JDBC): Altering a Queue
Dropping a Queue
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Dropping a Queue
Java (JDBC): Dropping a Queue
Creating a Transformation
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Creating a Transformation
Java (JDBC)
Modifying a Transformation
Purpose
Usage Notes
Applying a Transformation
Dropping a Transformation
Purpose
Usage Notes
Starting a Queue
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM Package): Starting a Queue
Java (JDBC): Starting a Queue
Stopping a Queue
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Stopping a Queue
Java (JDBC): Stopping a Queue
Granting System Privilege
Purpose
Usage Notes
Examples
PL/SQL (DBMS_AQADM): Granting System Privilege
Java (JDBC): Granting System Privilege
Revoking System Privilege
Purpose
Usage Notes
Syntax
Examples
Using PL/SQL (DBMS_AQADM): Revoking System Privilege
Granting Queue Privilege
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Granting Queue Privilege
Java (JDBC): Granting Queue Privilege
Revoking Queue Privilege
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Revoking Queue Privilege
Java (JDBC): Revoking Queue Privilege
Adding a Subscriber
Purpose
Usage Note
Syntax
Examples
PL/SQL (DBMS_AQADM): Adding Subscriber
PL/SQL (DBMS_AQADM): Adding a Rule-Based Subscriber
Java (JDBC): Adding a Subscriber
Altering a Subscriber
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Altering Subscriber
Java (JDBC): Altering a Subscriber
Removing a Subscriber
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Removing Subscriber
Java (JDBC): Removing a Subscriber
Scheduling a Queue Propagation
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Scheduling a Queue Propagation
Java (JDBC): Scheduling a Queue Propagation
Unscheduling a Queue Propagation
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Unscheduling a Propagation
Java (JDBC): Unscheduling a Queue propagation
Verifying a Queue Type
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Verifying a Queue Type
Java (JDBC): Verifying a Queue type
Altering a Propagation Schedule
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Altering a Propagation Schedule
Java (JDBC): Altering a Propagation Schedule
Enabling a Propagation Schedule
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Enabling a Propagation
Java (JDBC): Enabling a Propagation Schedule
Disabling a Propagation Schedule
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQADM): Disabling a Propagation
Java (JDBC): Disabling a Propagation Schedule
Creating an AQ Agent
Purpose
Usage Notes
Syntax
Examples
Altering an AQ Agent
Purpose
Usage Notes
Syntax
Examples
Dropping an AQ Agent
Purpose
Usage Notes
Syntax
Examples
Enabling Database Access
Purpose
Usage Notes
Syntax
Examples
Disabling Database Access
Purpose
Syntax
Examples
Adding an Alias to the LDAP Server
Purpose
Usage Notes
Syntax
Examples
Removing an Alias from the LDAP Server
Purpose
Usage Notes
Syntax
Examples

10 Administrative Interface: Views

Use Case Model: Administrative Interface -- Views
Selecting All Queue Tables in Database
Selecting User Queue Tables
Selecting All Queues in Database
Selecting All Propagation Schedules
Selecting Queues for Which User Has Any Privilege
Selecting Queues for Which User Has Queue Privilege
Selecting Messages in Queue Table
Selecting Queue Tables in User Schema
Selecting Queues In User Schema
Selecting Propagation Schedules in User Schema
Selecting Queue Subscribers
Selecting Queue Subscribers and Their Rules
Selecting the Number of Messages in Different States for the Whole Database
Selecting the Number of Messages in Different States for Specific Instances
Selecting the AQ Agents Registered for Internet Access
Selecting User Transformations
Selecting User Transformation Functions
Selecting All Transformations
Selecting All Transformation Functions

11 Operational Interface: Basic Operations

Use Case Model: Operational Interface -- Basic Operations
Enqueuing a Message
Purpose:
Usage Notes
Syntax
Examples
Enqueuing a Message [Specify Options]
Purpose
Usage Notes
Syntax
Examples
Enqueuing a Message [Specify Message Properties]
Purpose
Usage Notes
Syntax
Examples
Enqueuing a Message [Specify Message Properties [Specify Sender ID]]
Purpose
Usage Notes
Syntax
Examples
Enqueuing a Message [Add Payload]
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQ Package): Enqueue of Object Type Messages
Java (JDBC): Enqueue a message (add payload)
Visual Basic (OO4O): Enqueue a message
Listening to One (Many) Queue(s)
Purpose
Usage Notes
Syntax
Examples
Listening to One (Many) Single-Consumer Queues
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQ Package): Listen to Queues
Java (JDBC): Listen to Queues
C (OCI): Listen to Single-Consumer Queue(s)
Listening to One (Many) Multi-Consumer Queue(s)
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQ Package): Listen to Queue(s)
C (OCI): Listen to Multi-Consumer Queue(s)
Dequeuing a Message
Purpose
Usage Notes
Syntax
Examples
Dequeuing a Message from a Single-Consumer Queue [SpecifyOptions]
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQ Package): Dequeue of Object Type Messages
Java (JDBC): Dequeue a message from a single consumer queue (specify options)
Visual Basic (OO4O): Dequeue a message
Dequeuing a Message from a Multi-Consumer Queue [Specify Options]
Purpose:
Usage Notes
Syntax
Examples
Java (JDBC): Dequeue a message from a multi consumer queue (specify options)
Registering for Notification
Purpose
Usage Notes
Syntax
Examples
Registering for Notification [Specifying Subscription Name -- Single-Consumer Queue]
Registering for Notification [Specifying Subscription Name -- Multi-Consumer Queue]
Usage Notes
Syntax
Examples
C (OCI): Register for Notifications For Single-Consumer and Multi-Consumer Queries
Posting for Subscriber Notification
Purpose
Usage Notes
Syntax
Examples
PL/SQL (DBMS_AQ Package): Post of Object-Type Messages
Adding an Agent to the LDAP Server
Purpose
Usage notes
Syntax
Examples
Removing an Agent from the LDAP Server
Purpose
Usage notes
Syntax
Examples

12 Creating Applications Using JMS

A Sample Application Using JMS
General Features of JMS
JMS Connection and Session
JMS Destinations - Queue and Topic
System-Level Access Control in JMS
Destination-Level Access Control in JMS
Retention and Message History in JMS
Supporting Oracle Real Application Clusters in JMS
Supporting Statistics Views in JMS
Structured Payload/Message Types in JMS
Payload Used by JMS Examples
JMS Point-to-Point Model Features
Queues
Queue Sender
Queue Receiver
Queue Browser
JMS Publish-Subscribe Model Features
Topic
Durable Subscriber
Topic Publisher
Recipient Lists
TopicReceiver
Topic Browser
JMS Message Producer Features
Priority and Ordering of Messages
Time Specification - Delay
Time Specification - Expiration
Message Grouping
JMS Message Consumer Features
Receiving Messages
Message Navigation in Receive
Modes for Receiving Messages
Retry With Delay Interval
Asynchronously Receiving Message Using Message Listener
AQ Exception Handling
JMS Propagation
Remote Subscribers
Scheduling Propagation
Enhanced Propagation Scheduling Capabilities
Exception Handling During Propagation
Message Transformation with JMS
Defining Message Transformations
Sending Messages to a Destination Using a Transformation
Receiving Messages from a Destination Using a Transformation
Specifying Transformations for Topic Subscribers
Specifying Transformations for Remote Subscribers

13 JMS Administrative Interface: Basic Operations

Use Case Model: JMS Administrative Interface -- Basic Operations
Use Case Model Diagram: JMS Administrative Interface -- Basic Operations
Two Ways to Register a Queue/Topic Connection Factory through the Database
Registering through the Database with JDBC Connection Parameters
Purpose
Usage Notes
Syntax
Example
Registering through the Database with a JDBC URL
Purpose
Usage Notes
Syntax
Example
Two Ways to Register a Queue/Topic Connection Factory through LDAP
Registering through LDAP with JDBC Connection Parameters
Purpose
Usage Notes
Syntax
Example
Registering through LDAP with a JDBC URL
Purpose
Usage Notes
Syntax
Example
Unregister a Queue/Topic Connection Factory in LDAP through the Database
Purpose
Usage Notes
Syntax
Example
Unregister a Queue/Topic Connection Factory in LDAP through LDAP
Purpose
Usage Notes
Syntax
Example
Point-to-Point - Two Ways to Create a Queue Connection Factory
Getting a Queue Connection Factory with JDBC URL
Purpose
Usage Notes
Syntax
Example
Getting a Queue Connection Factory with JDBC Connection Parameters
Purpose
Usage Notes
Syntax
Example
Publish-Subscribe - Two Ways to Create a Topic Connection Factory
Getting a Topic Connection Factory with JDBC URL
Purpose
Usage Notes
Syntax
Example
Getting a Topic Connection Factory with JDBC Connection Parameters
Usage Note
Purpose
Syntax
Example
Getting a Queue/Topic Connection Factory in LDAP
Purpose
Example
Getting a Queue/Topic in LDAP
Purpose
Example
Creating a Queue Table
Purpose
Usage Notes
Syntax
Example
Creating a Queue Table [Specify Queue Table Property]
Purpose
Usage Notes
Syntax
Example
Getting a Queue Table
Purpose
Usage Notes
Syntax
Example
Specifying Destination Properties
Purpose
Usage Notes
Syntax
Example
Point-to-Point - Creating a Queue
Purpose
Usage Notes
Syntax
Example
Publish-Subscribe - Creating a Topic
Purpose
Usage Notes
Syntax
Example
Granting System Privileges
Purpose
Usage Notes
Syntax
Example
Revoking System Privileges
Purpose
Usage Notes
Syntax
Example
Publish-Subscribe - Granting Topic Privileges
Purpose
Usage Notes
Syntax
Example
Publish-Subscribe - Revoking Topic Privileges
Purpose
Usage Notes
Syntax
Example
Point-to-Point: Granting Queue Privileges
Purpose
Usage Notes
Syntax
Example
Point-to-Point: Revoking Queue Privileges
Purpose
Usage Notes
Syntax
Example
Starting a Destination
Purpose
Usage Notes
Syntax
Example
Stopping a Destination
Purpose
Usage Notes
Syntax
Example
Altering a Destination
Purpose
Usage Notes
Syntax
Example
Dropping a Destination
Purpose
Usage Notes
Syntax
Example
Scheduling a Propagation
Purpose
Usage Notes
Syntax
Example
Enabling a Propagation Schedule
Purpose
Usage Notes
Syntax
Example
Altering a Propagation Schedule
Purpose
Usage Notes
Syntax
Example
Disabling a Propagation Schedule
Purpose
Usage Notes
Syntax
Example
Unscheduling a Propagation
Purpose
Usage Notes
Syntax
Example

14 JMS Operational Interface: Basic Operations (Point-to-Point)

Use Case Model: Operational Interface -- Basic Operations
Use Case Model Diagram: Operational Interface (Point-to-Point)
Four Ways of Creating a Queue Connection
Creating a Queue Connection with Username/Password
Purpose
Usage Notes
Syntax
Example
Creating a Queue Connection with Open JDBC Connection
Purpose
Usage Notes
Syntax
Example
Creating a Queue Connection with Default Connection Factory Parameters
Purpose
Usage Notes
Syntax
Creating a Queue Connection with an Open OracleOCIConnection Pool
Purpose
Usage notes
Syntax
Example
Creating a Queue Session
Purpose
Usage Notes
Syntax
Example
Creating a Queue Sender
Purpose
Usage Notes
Syntax
Two Ways of Sending Messages Using a Queue Sender
Sending a Message Using a Queue Sender with Default Send Options
Purpose
Usage Notes
Syntax
Example
Sending Messages Using a Queue Sender by Specifying Send Options
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Queue Browser for JMS Message Queues
Creating a Queue Browser for Queues with Text, Stream, Objects, Bytes or Map Messages
Purpose
Usage Notes
Syntax
Example
Creating a Queue Browser for Queues with Text, Stream, Objects, Bytes or Map Messages, Locking Messages while Browsing
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Queue Browser for Oracle Object Type (ADT) Messages Queues
Creating a Queue Browser for Queues of Oracle Object Type (ADT) Messages
Purpose
Usage Notes
Syntax
Example
Creating a Queue Browser for Queues of Oracle Object Type (ADT) Messages, Locking Messages While Browsing
Purpose
Usage Notes
Syntax
Example
Browsing Messages Using a Queue Browser
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Queue Receiver
Creating a Queue Receiver for Queues of Standard JMS Type Messages
Purpose
Usage Notes
Syntax
Example
Creating a Queue Receiver for Queues of Oracle Object Type (ADT) Messages
Purpose
Usage Notes
Syntax
Example
Creating a Queue Connection with an Open OracleOCIConnection Pool
Purpose
Usage notes
Syntax
Example

15 JMS Operational Interface: Basic Operations (Publish-Subscribe)

Use Case Model: JMS Operational Interface -- Basic Operations (Publish-Subscribe)
Use Case Model Diagram: Operational Interface -- Basic Operations (Publish-Subscribe)
Four Ways of Creating a Topic Connection
Creating a Topic Connection with Username/Password
Purpose
Usage Notes
Syntax
Example
Creating a Topic Connection with Open JDBC Connection
Purpose
Usage Notes
Syntax
Example
Creating a Topic Connection with Default Connection Factory Parameters
Purpose
Usage Notes
Syntax
Creating a Topic Connection with an Open OracleOCIConnectionPool
Purpose
Usage notes
Syntax
Example
Creating a Topic Session
Purpose
Usage Notes
Syntax
Example
Creating a Topic Publisher
Purpose
Usage Notes
Syntax
Four Ways of Publishing Messages Using a Topic Publisher
Publishing a Message with Minimal Specification
Purpose
Usage Notes
Syntax
Example
Publishing a Message Specifying Correlation and Delay
Purpose
Usage Notes
Syntax
Example
Publishing a Message Specifying Priority and Time-To-Live
Purpose
Usage Notes
Syntax
Example
Publishing Messages Specifying a Recipient List Overriding Topic Subscribers
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Durable Subscriber for a Topic of Standard JMS Type Messages
Creating a Durable Subscriber for a JMS Topic without Selector
Purpose
Usage Notes
Syntax
Example
Creating a Durable Subscriber for a JMS Topic with Selector
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Durable Subscriber for a Topic of Oracle Object Type (ADT) Messages
Creating a Durable Subscriber for an ADT Topic without Selector
Purpose
Usage Notes
Syntax
Example
Creating a Durable Subscriber for an ADT Topic with Selector
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Remote Subscriber
Creating a Remote Subscriber for Topics of JMS Messages
Purpose
Usage Notes
Syntax
Example
Creating a Remote Subscriber for Topics of Oracle Object Type (ADT) Messages
Purpose
Usage Notes
Syntax
Example
Two Ways of Unsubscribing a Durable Subscription
Unsubscribing a Durable Subscription for a Local Subscriber
Purpose
Usage Notes
Syntax
Example
Unsubscribing a Durable Subscription for a Remote Subscriber
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Topic Receiver
Creating a Topic Receiver for a Topic of Standard JMS Type Messages
Purpose
Usage Notes
Syntax
Example
Creating a Topic Receiver for a Topic of Oracle Object Type (ADT) Messages
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Topic Browser for JMS Message Queues
Creating a Topic Browser for Topics with Text, Stream, Objects, Bytes or Map Messages
Purpose
Usage Notes
Syntax
Example
Creating a Topic Browser for Topics with Text, Stream, Objects, Bytes or Map Messages, Locking Messages While Browsing
Purpose
Usage Notes
Syntax
Example
Two Ways of Creating a Topic Browser for Oracle Object Type (ADT) Message Topics
Creating a Topic Browser for Topics of Oracle Object Type (ADT) Messages
Purpose
Usage Notes
Syntax
Example
Creating a Topic Browser for Topics of Oracle Object Type (ADT) Messages, Locking Messages While Browsing
Purpose
Usage Notes
Syntax
Example
Browsing Messages Using a Topic Browser
Purpose
Usage Notes
Syntax
Example

16 JMS Operational Interface: Basic Operations (Shared Interfaces)

Use Case Model: JMS Operational Interface -- Basic Operations (Shared Interfaces)
Starting a JMS Connection
Purpose
Usage Notes
Syntax
Examples
Getting the JMS Connection from a Session
Purpose
Usage Notes
Syntax
Examples
Committing All Operations in a Transacted Session
Purpose
Usage Notes
Syntax
Examples
Rolling Back All Operations in a Transacted Session
Purpose
Usage Notes
Syntax
Examples
Getting the Underlying JDBC Connection from a JMS Session
Purpose
Usage Notes
Syntax
Examples
Getting the Underlying OracleOCIConnectionPool from a JMS Connection
Purpose
Usage Notes
Syntax
Examples
Creating a Bytes Message
Purpose
Usage Notes
Syntax
Examples
Creating a Map Message
Purpose
Usage Notes
Syntax
Examples
Creating a Stream Message
Purpose
Usage Notes
Syntax
Examples
Creating an Object Message
Purpose
Usage Notes
Syntax
Examples
Creating a Text Message
Purpose
Usage Notes
Syntax
Examples
Creating an ADT Message
Purpose
Usage Notes
Syntax
Examples
Specifying Message Correlation ID
Purpose
Usage Notes
Syntax
Examples
Specifying JMS Message Property
Usage Notes
Specifying Message Property as Boolean
Purpose
Usage Notes
Syntax
Examples
Specifying Message Property as String
Purpose
Usage Notes
Syntax
Examples
Specifying Message Property as Int
Purpose
Usage Notes
Syntax
Examples
Specifying Message Property as Double
Purpose
Usage Notes
Syntax
Examples
Specifying Message Property as Float
Purpose
Usage Notes
Syntax
Examples
Specifying Message Property as Byte
Usage Notes
Syntax
Examples
Specifying Message Property as Long
Purpose
Usage Notes
Syntax
Examples
Specifying Message Property as Short
Purpose
Usage Notes
Syntax
Examples
Specifying Message Property as Object
Purpose
Usage Notes
Syntax
Examples
Setting Default TimeToLive for All Messages Sent by a Message Producer
Purpose
Usage Notes
Syntax
Examples
Setting Default Priority for All Messages Sent by a Message Producer
Purpose
Usage Notes
Syntax
Examples
Creating an AQjms Agent
Purpose
Usage Notes
Syntax
Examples
Two Ways of Receiving a Message Synchronously Using a Message Consumer
Purpose
Usage Notes
Syntax
Examples
Receiving a Message Using a Message Consumer by Specifying Timeout
Purpose
Usage Notes
Syntax
Examples
Receiving a Message Using a Message Consumer Without Waiting
Purpose
Usage Notes
Syntax
Examples
Specifying the Navigation Mode for Receiving Messages
Purpose
Usage Notes
Syntax
Examples
Two Ways of Specifying a Message Listener to Receive a Message Asynchronously
Specifying a Message Listener at the Message Consumer
Purpose
Usage Notes
Syntax
Examples
Specifying a Message Listener at the Session
Purpose
Usage Notes
Syntax
Examples
Getting the Correlation ID of a Message
Purpose
Usage Notes
Syntax
Examples
Two Ways of Getting the Message ID of a Message
Getting the Message ID of a Message as Bytes
Purpose
Usage Notes
Syntax
Examples
Getting the Message ID of a Message as a String
Purpose
Usage Notes
Syntax
Examples
Getting the JMS Message Property
Getting the Message Property as a Boolean
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as a String
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as Int
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as Double
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as Float
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as Byte
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as Long
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as Short
Purpose
Usage Notes
Syntax
Examples
Getting the Message Property as Object
Purpose
Usage Notes
Syntax
Examples
Closing a Message Producer
Purpose
Usage Notes
Syntax
Examples
Closing a Message Consumer
Purpose
Usage Notes
Syntax
Examples
Stopping a JMS Connection
Purpose
Usage Notes
Syntax
Examples
Closing a JMS Session
Purpose
Usage Notes
Syntax
Examples
Closing a JMS Connection
Purpose
Usage Notes
Syntax
Examples
Getting the Error Code for the JMS Exception
Purpose
Usage Notes
Syntax
Examples
Getting the Error Number for the JMS Exception
Purpose
Usage Notes
Syntax
Examples
Getting the Error Message for the JMS Exception
Purpose
Usage Notes
Syntax
Examples
Getting the Exception Linked to the JMS Exception
Purpose
Usage Notes
Syntax
Examples
Printing the Stack Trace for the JMS Exception
Purpose
Usage Notes
Syntax
Examples
Setting the Exception Listener
Purpose
Usage Notes
Syntax
Examples
Getting the Exception Listener
Purpose
Usage Notes
Syntax
Examples
Setting the Ping Period for the Exception Listener
Purpose
Usage Notes
Syntax
Examples
Getting the Ping Period for the Exception Listener
Purpose
Usage Notes
Syntax
Examples

17 Internet Access to Advanced Queuing

Overview of Advanced Queuing Operations Over the Internet
The Internet Data Access Presentation (IDAP)
IDAP Message Structure
IDAP Method Invocation
AQ XML Documents
IDAP and AQ XML Schemas
The IDAP Schema
AQ XML Schema
Deploying the AQ XML Servlet
Creating the AQ XML Servlet Class
Compiling the AQ XML Servlet
User Authentication
User Authorization
Using an LDAP Server with an AQ XML Servlet
Setup for Receiving AQ XML Requests Using SMTP (Email)
Using HTTP to Access the AQ XML Servlet
User Sessions and Transactions
Using HTTP and HTTPS for Advanced Queuing Propagation
High-Level Architecture
Using SMTP to Access the AQ Servlet
Customizing the AQ Servlet
Setting the Connection Pool Size
Setting the Session Timeout
Setting the Style Sheet for All Responses from the Servlet
Callbacks Before and After AQ Operations

A Oracle Advanced Queuing by Example

Creating Queue Tables and Queues
Creating a Queue Table and Queue of Object Type
Creating a Queue Table and Queue of Raw Type
Creating a Prioritized Message Queue Table and Queue
Creating a Multiple-Consumer Queue Table and Queue
Creating a Queue to Demonstrate Propagation
Setting Up Java AQ Examples
Creating an Java AQ Session
Creating a Queue Table and Queue Using Java
Creating a Queue and Start Enqueue/Dequeue Using Java
Creating a Multi-Consumer Queue and Add Subscribers Using Java
Enqueuing and Dequeuing Of Messages
Enqueuing and Dequeuing of Object Type Messages Using PL/SQL
Enqueuing and Dequeuing of Object Type Messages Using Pro*C/C++
Enqueuing and Dequeuing of Object Type Messages Using OCI
Enqueuing and Dequeuing of Object Type Messages (CustomDatum interface) Using Java
Enqueuing and Dequeuing of Object Type Messages (using SQLData interface) Using Java
Enqueuing and Dequeuing of RAW Type Messages Using PL/SQL
Enqueuing and Dequeuing of RAW Type Messages Using Pro*C/C++
Enqueuing and Dequeuing of RAW Type Messages Using OCI
Enqueue of RAW Messages using Java
Dequeue of Messages Using Java
Dequeue of Messages in Browse Mode Using Java
Enqueuing and Dequeuing of Messages by Priority Using PL/SQL
Enqueue of Messages with Priority Using Java
Dequeue of Messages after Preview by Criterion Using PL/SQL
Enqueuing and Dequeuing of Messages with Time Delay and Expiration Using PL/SQL
Enqueuing and Dequeuing of Messages by Correlation and Message ID Using Pro*C/C++
Enqueuing and Dequeuing of Messages by Correlation and Message ID Using OCI
Enqueuing and Dequeuing of Messages to/from a Multiconsumer Queue Using PL/SQL
Enqueuing and Dequeuing of Messages to/from a Multiconsumer Queue using OCI
Enqueuing and Dequeuing of Messages Using Message Grouping Using PL/SQL
Enqueuing and Dequeuing Object Type Messages That Contain LOB Attributes Using PL/SQL
Enqueuing and Dequeuing Object Type Messages That Contain LOB Attributes Using Java
Propagation
Enqueue of Messages for remote subscribers/recipients to a Multiconsumer Queue and Propagation Scheduling Using PL/SQL
Managing Propagation From One Queue To Other Queues In The Same Database Using PL/SQL
Manage Propagation From One Queue To Other Queues In Another Database Using PL/SQL
Unscheduling Propagation Using PL/SQL
Dropping AQ Objects
Revoking Roles and Privileges
Deploying AQ with XA
AQ and Memory Usage
Create_types.sql: Create Payload Types and Queues in Scott's Schema
Enqueuing Messages (Free Memory After Every Call) Using OCI
Enqueuing Messages (Reuse Memory) Using OCI
Dequeuing Messages (Free Memory After Every Call) Using OCI
Dequeuing Messages (Reuse Memory) Using OCI

B Oracle JMS Interfaces, Classes and Exceptions

Oracle JMSClasses (part 1)
Oracle JMS Classes (part 2)
Oracle JMS Classes (part 3)
Oracle JMS Classes (part 4)
Oracle JMS Classes (part 5)
Oracle JMS Classes (part 6)
Oracle JMS Classes (part 6 continued)
Oracle JMS Classes (part 7)
Oracle JMS Classes (part 8)
Oracle JMS Classes (part 9)
Oracle JMS Classes (part 10)
Oracle JMS Classes (part 10 continued)
Interface - javax.jms.BytesMessage
Interface - javax.jms.Connection
Interface - javax.jms.ConnectionFactory
Interface - javax.jms.ConnectionMetaData
Interface - javax.jms.DeliveryMode
Interface - javax.jms.Destination
Interface - javax.jms.MapMessage
Interface - javax.jms.Message
Interface - javax.jms.MessageConsumer
Interface - javax.jms.MessageListener
Interface - javax.jms.MessageProducer
Interface - javax.jms.ObjectMessage
Interface - javax.jms.Queue
Interface - javax.jms.QueueBrowser
Interface - javax.jms.QueueConnection
Interface - javax.jms.QueueConnectionFactory
Interface - javax.jms.QueueReceiver
Interface - javax.jms.QueueSender
Interface - javax.jms.QueueSession
Interface - javax.jms.Session
Interface - javax.jms.StreamMessage
Interface - javax.jms.TextMessage
Interface - javax.jms.Topic
Interface - javax.jms.TopicConnection
Interface - javax.jms.TopicConnectionFactory
Interface - javax.jms.TopicPublisher
Interface - javax.jms.TopicSession
Interface - javax.jms.TopicSubscriber
Exception javax.jms.InvalidDestinationException
Exception javax.jms.InvalidSelectorException
Exception javax.jms.JMSException
Exception javax.jms.MessageEOFException
Exception javax.jms.MessageFormatException
Exception javax.jms.MessageNotReadableException
Exception javax.jms.MesageNotWriteableException
Interface - oracle.jms.AdtMessage
Interface - oracle.jms.AQjmsQueueReceiver
Interface - oracle.jms.AQjmsQueueSender
Interface - oracle.jms.AQjmsTopicPublisher
Interface - oracle.jms.TopicReceiver
Interface - oracle.jms.AQjmsTopicSubscriber
Interface - oracle.jms.AQjmsTopicReceiver
Class - oracle.jms.AQjmsAdtMessage
Class - oracle.jms.AQjmsAgent
Class - oracle.jms.AQjmsBytesMessage
Class - oracle.jms.AQjmsConnection
Interface - oracle.jms.AQjmsConnectionMetadata
Class - oracle.jms.AQjmsConstants
Interface - oracle.jms.AQjmsConsumer
Class - oracle.jms.AQjmsDestination
Class - oracle.jms.AQjmsDestinationProperty
Class - oracle.jms.AQjmsFactory
Class - oracle.jms.AQjmsMapMessage
Class - oracle.jms.AQjmsMessage
Class - oracle.jms.AQjmsObjectMessage
Class - oracle.jms.AQjmsOracleDebug
Class - oracle.jms.AQjmsProducer
Class - oracle.jms.AQjmsQueueBrowser
Class - AQjmsQueueConnectionFactory
Class - oracle.jms.AQjmsSession
Class - oracle.jms.AQjmsStreamMessage
Class - oracle.jms.AQjmsTextMessage
Class - oracle.jms.AQjmsTopicConnectionFactory
Exception oracle.jms.AQjmsException
Exception oracle.jms.AQjmsInvalidDestinationException
Exception oracle.jms.AQjmsInvalidSelectorException
Exception oracle.jms.AQjmsMessageEOFException
Exception oracle.jms.AQjmsMessageFormatException
Exception oracle.jms.AQjmsMessageNotReadableException
Exception oracle.jms.AQjmsMesssageNotWriteableException
Interface - oracle.AQ.AQQueueTable
Class - oracle.AQ.AQQueueTableProperty
Interface - oracle.jms.TopicBrowser
Class - oracle.jms.AQjmsTopicBrowser

C Scripts for Implementing 'BooksOnLine'

tkaqdoca.sql: Script to Create Users, Objects, Queue Tables, Queues & Subscribers
tkaqdocd.sql: Examples of Administrative and Operational Interfaces
tkaqdoce.sql: Operational Examples
tkaqdocp.sql: Examples of Operational Interfaces
tkaqdocc.sql: Clean-Up Script

D JMS and AQ XML Servlet Error Messages

JMS Error Messages
AQ XML Servlet Error Messages

E Interpreting Unified Modeling Language Diagrams

Use Case Diagrams
State Diagrams
Links in Online Versions of this Document

Index


Go to next page
Oracle
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Index
Index

Master Index

Feedback