Advance Queuing in Oracle Database 19c

“Don’t limit yourself. Many people limit themselves to what they think they can do. You can go as far as your mind lets you. What you believe, remember, you can achieve.”

Hello friends, today we investigate an a very interesting concept of Oracle 19c “Advance Queuing”.

Oracle 19c is providing enterprise messaging infrastructure with Oracle Advance Queuing (AQ) which plays a major role in to automate business process workflows for distributed applications.

With the help of AQ, business can take an advantage of messaging services without any external message service providers or middleware product.

Organizations are managing all the data along with the flow and exchange of data with the help of messages to different systems in highly reliable, scalable and available in oracle database.

AQ implements in database leads to manage high availability, high performance, security.

AQ can be use with interfaces like Python, Node.js,, jdbc, jms 1.1, etc.

What are the AQ Components?

There are 4 major components of AQ as below,

1. Message

A message consists of message content, or payload, which can be specified using typed or raw data and message attributes or control information.

2. Message Queue

Messages are stored in queues and these queues act as “postal boxes” where different applications can look for “mail” in the form of messages. Thus, when one application wants to contact certain applications for certain tasks, it can leave messages in these queues, and the receiving applications will be able to find these messages for processing.

3. Message Interfaces – AQ supports enqueue, dequeue, and propagation operations that integrate seamlessly with existing applications by supporting popular standards. AQ messages can be created, queried, propagated and consumed using popular application programming interfaces (API) such as PL/SQL, C/C++, Java, Visual Basic (through Oracle Objects for OLE), Python, Node.js, and ODP.NET. AQ provides support for the Java Message Service 1.1 (JMS) API that allows Java applications to utilize the message queuing functionality.

4. Message Handling – AQ supports rule-based routing of messages according to data in the message payload or attributes. Additionally, message transformations can be applied to messages to re-format data before the messages are automatically delivered to target applications or subscribers. Oracle Database 19c can also exchange AQ messages with IBM MQ and TIBCO/Rendezvous through the Oracle Messaging Gateway.

What are the capabilities of AQ?

AQ is having many capabilities which are leads to message based distributed applications inside Oracle database,

  • Priority messaging
  • Transaction support
  • Queue Models
  • Security
  • Publish\Subscribe support
  • Message Propagation
  • Message Transformation
  • Rules-based message queuing
  • Quality Services

The Oracle JDBC package provides a fast Java interface to AQ. This package contains the following:

  • Classes
    • AQDequeueOptions:

Specifies the options available for the dequeue operation

  • AQEnqueueOptions:

Specifies the options available for the enqueue operation

  • AQFactory:

Is a factory class for AQ

  • AQNotificationEvent:

Is created whenever a new message is enqueued in a queue for which you have registered your interest

  • Interfaces
    • AQAgent:

Used to represent and identify a user of the queue or a producer or consumer of the message

  • AQMessage:

Represents a message that is enqueued or dequeued

  • AQMessageProperties:

Contains message properties such as Correlation, Sender, Delay and Expiration, Recipients, and Priority and Ordering

  • AQNotificationListener:

Is a listener interface for receiving AQ notification events

  • AQNotificationRegistration:

Represents your interest in being notified when a new message is enqueued in a particular queue

These classes and interfaces enable you to access an existing queue, create messages, and enqueue and dequeue messages.

You may also like...

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: