Getting started with 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: one of Unchanged, Added, Edited, or 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:
Amazon Simple Queue Service
Apache ActiveMQ
Azure Service Bus
Azure Event Hubs
Google PubSub
Microsoft Message Queuing
IBM MQ
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. Clicking 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:
{"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.
Amazon Simple Queue Service
The following additional properties are displayed at Amazon Simple Queue Service queue providers:
Connectivity test: when the queue provider’s current state is anything other than Unchanged, this button is disabled, and its text reads ‘Save this provider to test connectivity’.
When the provider is Unchanged, the button’s text is set to ‘Test Connectivity’. On clicking it, a ‘Test ‘[provider name]’ provider connectivity’ job is created and displayed in the My Jobs Dialog. Full details of the job can be found in that interface’s documentation.
Access key: this property is required to connect to Amazon Web Services, and its provision is mandatory.
Secret key: another property that is required to connect to Amazon Web Services; also mandatory.
Region endpoint: this dropdown allows you to specify the endpoint that will be used to connect to Amazon Web Services. It is set by default to ‘US_East_Virginia’.
Visibility timeout: this numeric property allows you to specify a period of time, in seconds, within which processing of a message will be prevented. It defaults to 300, and accepts a range of values from 0 to 43,200.
Queue names are case-sensitive at Amazon SQS queue providers. The value provided must exactly match the name of the queue as configured at Amazon, the realtime API web.config file and queue path system configuration settings.
Apache ActiveMQ
The following additional properties are displayed at Apache ActiveMQ queue providers:
Connectivity test: as Amazon Simple Queue Service (see above).
Connection string: the connection string that used to connect to Apache ActiveMQ is mandatory and can be a maximum length of 1000 characters.
Azure Service Bus
The following additional properties are displayed at Azure Service Bus 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.
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.
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.
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.
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.
Storage container name: this mandatory text field may be a maximum of 100 characters in length.
Storage connection string: the string used to connect to the specified Azure storage account is mandatory and can be a maximum of 1000 characters in length.
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.
IBM MQ Queueing
The following additional properties are displayed at IBM MQ queue providers:
Queue manager name: this mandatory text field may be a maximum of 100 characters in length.
Host name: this mandatory text field may also be a maximum of 100 characters in length and represents the host name used to connect to the specified queue manager.
Port: this mandatory field represents the port number that will be used to connect to the specified queue manager. It defaults to the value '1414'.
Channel name: this mandatory text field may be a maximum of 100 characters in length. It defaults to the value 'SYSTEM.ADMIN.SVRCONN’ and represents the channel to be used within the specified queue manager.
Use credentials: this checkbox, which is unchecked by default, allows you to specify whether the queue provider's connection requires a username and password.
Username: this 100-character text field is enabled (and mandatory) when Use credentials is checked.
Password: this 100-character password-masked field is enabled (and mandatory) when Use credentials is checked.
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.