RabbitMQ Module
  • 17 Apr 2024
  • 4 Minutes to read
  • Dark
    Light

RabbitMQ Module

  • Dark
    Light

Article summary

Overview

Rabbit Message Queue (RabbitMQ) is a messaging system for application-to-application communication. The RabbitMQ Module adds the capability to the Decisions Messaging Service, which lets users connect to built-in Flow steps to manage a Rabbit MQ. The RabbitMQ Module allows users to queue subscribers so that Flow can work and push messages to Queues using Flow steps. Users can also integrate with RabbitMQ, take in a message, and then convert the message to any type of data for processing.

To configure RabbitMQ in Decisions, users must install the RabbitMQ Module. Refer to Installing Modules article.


Installing RabbitMQ

Refer to RabbitMQ's official website to Download and Install RabbitMQ.


RabbitMQ Settings

  1. To establish a connection with a RabbitMQ broker, users must configure the server information in System Settings. This can be found by navigating to System > Settings > Message Queue Settings > RabbitMQ Settings. 
  2. Below is a breakdown of each property for the setting. These configurations will serve as global settings for all the RabbitMQ Message Queues that will be created in the next section.

    PropertySetting
    Default Server IP or NameThe Default Server IP or name hosting the RabbitMQ broker.
    Use Default PortWhen disabled, it opens a new field where the port number can be specified. Ensure the port is open and is not assigned to any other service.
    Default Virtual HostOptional field used to identify the virtual host location. Due to RabbitMQ being a multi-tenant system, it allows for a specific tenant to be used as the connected system.
    Default User NameSets the default user name when establishing a connection to RabbitMQ.
    Default PasswordSets the default password for establishing a connection to Rabbit MQ.
    Use SSLWhen Enabled, opens a field to enter the Server certificate name.
    Server certificate CN nameEnter the name of the server certificate CN (Common Name / Fully Qualified Domain Name).
    Verify server CN nameWhen enabled, this will verify the certificate (Common Name / Fully Qualified Domain Name).
    Verify server certificate chainWhen enabled, this will verify the certificate chain.

Connecting to a RabbitMQ

  1. Navigate to Systems > Jobs and Events > Message Queues and select Add Rabbit Queue.
  2. On the Add Rabbit Queue dialog window, enter a Display Name and the Queue Name. Configure any other options necessary and click SAVE.

    DEFINITION

    Display NameDetermines how the Queue's name displays.

    Queue NameThe name of the Queue that the system references.

    Is Durable QueueWhen Decisions create the Queue, this setting keeps the Message permanent. If no one is using the Queue, this setting will reclaim the Message Queue and recreate the Message.

    Auto DeleteInstructs the Message Server to delete the Queue when its last consumer disconnects.

    Override Server InfoThis will override the server settings configured in the RabbitMQ Settings.


    Server IP or NameThe Server IP or name hosting the RabbitMQ.


    Use Default PortWhen disabled, opens a new field where the port number can be specified. Ensure the port is open and is not assigned to any other service.

    Virtual Host Override Behaviour


    Override if Specified (Otherwise use default)
    This will override the virtual host configured in the RabbitMQ Setting only if specified.


    Never Override (Always use default)
    Will not allow to override virtual host.


    Always Override
    Will always override the virtual host configured in the RabbitMQ Setting

    Override Virtual HostThis will override the Virtual Host configured in the RabbitMQ Settings. Allows the ability to set up multiple virtual hosts allowing the user to host Decisions. The Virtual host runs to keep the actual production from interference.

    Override Queue CredentialsThis will override the credentials configured in the RabbitMQ Settings. Provides the ability to set up a username and password that can be assigned, allowing specific credentials to be required

    Override SSLThis will override the SSL configured in the RabbitMQ Settings. Enables the use of SSL for specific Message queues.


    Server certificate CN nameEnter the name of the server certificate CN (Common Name / Fully Qualified Domain Name).


    Verify server CN nameWhen enabled, this will verify the CN (Common Name) of the entered certificate.


    Verify server certificate chainWhen enabled, this will verify the certificate chain of the entered certificate.
    QUEUE ARGUMENTS

    Queue TypeSpecifies the queue type (classic, quorum)

    Dead Letter ExchangeThe queue for undelivered or failed messages

    Dead Letter Routing KeyRouting key for dead letter

    Maximum Queue LengthSets the maximum queue length

    Message TTL (msec)Sets the message time-to-live in milliseconds.

    These values can be found within the web portal for RabbitMQ under the Queues section. These values must match; otherwise, a new queue will be created within RabbitMQ to match the settings defined in Decisions.  

  3. Navigate to System > Jobs and Events > Message Queues. Right-click on the Message Queue and select Control. Select Test Queue to verify the connection with RabbitMQ. If successful, a dialog popup screen will appear, displaying the test result.

    Configuration OptionsDescription
    Disable QueueDisables the queue
    Resync QueueRecreates the Message Queues if necessary and re-synchronizes with the Message Server
    Start QueueStarts processing Messages on the Message Queues (if stopped)
    Stop QueueStops processing Messages on the Message Queues. The Message Server will hold any unprocessed messages.
    Test QueueReads the number of awaiting Messages on the Queue and shows a pop-up with the amount of awaiting Messages
Related Articles:
  1. To subscribe to messages in a queue, a Message Handler Flow needs to be configured. For more information, refer to Setting Up Message Handlers.
  2. Refer to Step Article Library to learn more about how to use RabbitMQ Flow steps within a Flow.

Feature Changes

DescriptionVersionDeveloper Task
Added new setting on RabbitMQ Queues: Virtual Host Override Behavior
8.13[DT-038175]
A hidden Module called Decisions.MessageQueues Module will be downloaded automatically when any message queue Module is installed.
9.0[DT-039289]

For further information on Modules, visit the Decisions Forum.

Was this article helpful?