Skip to main content
Skip table of contents

Getting started with Realtime Queue Providers

Overview

A grid is displayed, listing all existing queue providers:

Within the grid, the following read-only columns are displayed:

  • Name

  • Description

  • Type

  • Use Queue

    • A tick is displayed at the queue provider that is currently being used. A cross is shown at all other queue providers.

  • State

    • Unchanged

    • Added

    • Edited

    • Deleted

A single queue provider – Default MSMQ Web Queue Provider – is provided at a newly-installed RPI instance. Its Use Queue property is checked by default.

Note that you can delete the default queue provider if it is not required.

Selected Queue Provider Details

When a queue provider is selected in the list, its details are shown in the Selected Queue Provider Details section.

The following common properties are shared by all queue provider types:

  • Name: this mandatory property must be unique and can be a maximum of 100 characters in length.

  • Description: this optional property can be a maximum of 1000 characters in length.

  • Type: this read-only property is defined at the queue provider's creation, and is set to one of the following values:

    • Google PubSub

    • RabbitMQ

    • Kafka

  • Use this queue provider: this checkbox is unchecked by default at a newly-created queue by default. A validation error is raised at invocation of Save if the property is checked at more than one queue provider.

  • Configuration: the accompanying button displays the text Copy JSON configuration to clipboard. Selecting it copies to the clipboard a JSON snippet, which must be inserted at the “ClientQueueSettings” element at the RPI Realtime website's appsettings.json file. The snippet is structured as per the following example:

CODE
{
  "Assembly": "RedPoint.Resonance.AzureQueueAccess",
  "Type": "RedPoint.Resonance.AzureQueueAccess.AzureServiceBusQueueFactory",
  "Settings": [
    {
      "Key": "ConnectionString",
      "Value": "Endpoint=sb://redpointinteractiondev.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=EcWsxCsX+xOLQCdt0H6kScI1bR252V+WGljpou5MjwQ=",
      "Values": null
    }
  ]
}

An informational message confirms that the text has been copied to the clipboard.

Azure Service Bus/Azure Storage

The following additional properties are displayed at Azure Service Bus/Azure Storage queue providers:

  • Connectivity test: as Amazon Simple Queue Service (see above).

  • Queue type: this dropdown allows you to specify the type of queue to be use. It exposes the values “Service Bus” (the default) and “Storage’”.

  • Connection string: a connection string must be supplied in order to connect to the Azure queue. Provision of a value for this property is mandatory.

  • API call max. retry: this integer property is shown when Queue type is set to “Service Bus”. It allows you to specify the number of attempts to be made when an API call fails. It defaults to 10, and supports a range of values from 5 to 30.

  • Retry timeout: this integer property is shown when Queue type is set to “Service Bus”. It allows you to specify the time, in seconds, for which RPI will wait for an API call. It defaults to 60.

  • Send timeout: this integer property is shown when Queue type is set to ‘“Service Bus”. It allows you to specify the time, in seconds, for which RPI will wait for the sending of messages to complete. It defaults to 60.

  • Receive timeout: this integer property is shown when Queue type is set to “Service Bus”. It allows you to specify the time, in seconds, for which the activity will wait for receiving messages to complete. It defaults to 1, and supports a range of values from 1 to 10.

  • Send batch size: this integer property is shown when Queue type is set to “Service Bus”. It allows you to specify the maximum number of messages to be sent at a time to Azure. It defaults to 200, and accepts a maximum value of 10,000.

  • Max. send queue messages: this integer property is shown when Queue type is set to “Service Bus”. It allows you to specify the maximum number of messages that can be sent to the internal queue. It defaults to 10,000.

  • Max. send error count: this integer property is shown when Queue type is set to "Service Bus". It allows you to specify the maximum number of send errors that can occur before messages are no longer sent to the Service Bus queue. It defaults to 3.

  • Send error waiting period: this integer property is shown when Queue type is set to "Service Bus". It allows you to specify the period, in seconds, for which RPI will wait after send errors before resuming the sending of messages to the Service Bus queue. It defaults to 5.

  • Send visibility timeout: this integer property is shown when Queue type is set to “Storage”. It allows you to specify a timeout value, in minutes, for which a message will remain in the queue when processing fails. The property defaults to 1, and accepts a range of values from 1 to 4,320.

  • Receive visibility timeout: this integer property is shown when Queue type is set to “Storage”. It allows you to specify a timeout value, in minutes, for which a message will remain in the queue when processing fails. The property defaults to 1, and accepts a range of values from 1 to 4,320.

  • Use Azure identity: this checkbox is unchecked by default. If checked, Access key is unavailable, and the server's Azure Identity configuration will be used for authentication, with credentials being sourced from the following environment variables:

    • AZURE_CLIENT_ID

    • AZURE_CLIENT_SECRET

    • AZURE_TENANT_ID

  • Storage account name: this string property is shown when Queue type is set to “Storage”. It allows you to specify the account name to be used when connecting to the Azure Storage queue. The property is mandatory when Use Azure identity is checked.

  • Namespace name: this string property is shown when Queue type is set to "Service Bus". It allows you to specify the namespace name to be used when connecting to the Service Bus queue. The property is mandatory when Use Azure identity is checked.

Azure Event Hubs

The following additional properties are displayed at Azure Event Hubs queue providers:

  • Event hubs name: this mandatory text field may be a maximum of 100 characters in length.

  • Connection string: the string used to connect to the selected Azure Event Hubs is mandatory and can be a maximum of 1000 characters in length.

  • Send batch size: this property allows you to specify the maximum number of messages that can be sent to Azure Event Hubs at the same time. It defaults to 200.

  • Receive batch size: this property allows you to specify the maximum number of messages that can be sent to Azure Event Hubs at the same time. It defaults to 200.

  • Use Azure identity: this checkbox is unchecked by default. If checked, Access key is unavailable, and the server's Azure Identity configuration will be used for authentication, with credentials being sourced from the following environment variables:

    • AZURE_CLIENT_ID

    • AZURE_CLIENT_SECRET

    • AZURE_TENANT_ID

  • Namespace name: this string property allows you to specify the namespace name to be used when connecting to Azure Event Hubs. The property is mandatory when Use Azure identity is checked.

Google Cloud PubSub

A single additional property is displayed at Google Cloud PubSub queue providers:

Project ID: this mandatory text property can be a maximum of 100 characters in length. It represents the queue’s project ID, as defined at Google.

RabbitMQ

The following additional properties are displayed at RabbitMQ queue providers:

  • Hostname: this mandatory text property is used to capture the host name of the RabbitMQ server. It accepts a maximum of 100 characters.

  • Virtual host: this mandatory text property is used to specify the virtual host to be used to connect to RabbitMQ. It accepts a maximum of 100 characters, and defaults to the value '/'.

  • Username: this mandatory text property is used to specify the user name to be used to connect to RabbitMQ. It accepts a maximum of 100 characters.

  • Password: this mandatory password-protected textbox is used to specify the password to be used when connecting to RabbitMQ. It accepts a maximum of 100 characters.

Kafka

The following additional properties are displayed at Kafka queue providers:

  • Bootstrap servers: this mandatory property, which can be a maximum of 4000 characters in length, allows you to specify a comma-separated list of host names and ports used to connect to a Kafka cluster.

  • Acknowledgment: this dropdown field exposes values 'None' (the default), 'Leader' and 'All'. It represents the ACK-value of partition replicas that must receive a record before a write is considered successful.

  • Compression type: this dropdown field exposes values 'None', 'Gzip', 'Snappy' (the default), 'Lz4' and 'Zstd'. It allows you to define the type of compression algorithm used for data generated by the producer.

  • Max. retry attempts: this numeric property allows you to specify the number of attempts to be made if there is a server error. The property accepts a range of values from 0 to 30. Setting it to 0 means that no retries are performed.

  • Batch size: this numeric property accepts values from 0 to 2,000,000, and defaults to 1,000,000. It allows you to specify the size of messages, in bytes, to be sent as a batch to the same partition. Setting to 0 means batching is not used.

  • Linger time: this numeric property accepts values from 0.00 (the default) to 1000.00. It represents the minimum time, in milliseconds, to wait for additional messages before sending the current batch. Setting the property to 0 means no waiting occurs.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.