Page History
Automatic configuration
After RabbitMQ has been installed, we can configure the queues, exchanges and the bindings between the exchanges and queues. A default configuration is available (definitions.json). This is a JSON file which contains all queues, exchanges and bindings necessary for the DCM setup. It can be imported in the RabbitMQ dashboard in the "Overview" tab, under "Import definitions".
Warning |
---|
The following steps will overwrite any existing configuration. So make sure any other relevant configuration is backed up before trying the automatic configuration step. |
After importing the file it might be necessary to reconfigure the users, to add a new user so you can remove the guest user. please see: https://www.rabbitmq.com/access-control.html
Manual configuration
Its possible to configure RabbitMQ manually using the following steps:
...
Producing Component(s) | Exchange | Queue | Consuming Component(s) | Dead letter exchange | Dead letter queue |
Case Engine, Runtime | dcmEvents | dcmEventsQueue | Case Engine | dlx.dcmEvents | dcmEventsDlq |
Case Engine | dcmListsEvents | dcmListsServiceEventsQueue | DCM Lists Service | dlx.dcmListsEvents | dcmListsServiceEventsDlq |
Case Engine | dcmMaintenanceEvents | dcmMaintenanceEventsQueue | DCM Maintenance App | dlx.dcmMaintenanceEvents | dcmMaintenanceEventsDlq |
Case Engine | dcmScheduledEvents* | dcmEventsQueue | Case Engine | dlx.dcmScheduledEvents | dcmScheduledEventsDlq |
Case Engine | dcmTasksEvents | dcmTasksEventsQueue | Runtime | dlx.dcmTasksEvents | dcmTasksEventsDlq |
Case Engine, Runtime | timelineEvents | timelineQueue | Case Engine OR Runtime | dlx.timelineEvents | timelineDlq |
Case Engine, Runtime | traceEvents | traceQueue | Case Engine OR Runtime | dlx.traceEvents | traceDlq |
Audit Consumer | auditEvents | auditEventsQueue | Case Engine or Runtime | dlx.auditEvents | auditEventsDlq |
DCM Maintenance APP | dlx.dcmMaintenanceEventsdcmMaintenanceApp | dcmMaintenanceEventsDlqdcmMaintenanceAppDlq | No Consumer | - | - |
* This exchange publishes to the same queue as the dcmEvents exchange.
Application properties
For each component that uses RabbitMQ, one or more queues/exchanges need be configured including the properties of the RabbitMQ instance.
...
if the property ssl.enabled is not set at all it will default to false regardless.
Case Engine
Add the following exchanges and queues to the Case Engine properties when you want to override queues and exchanges with your own:
...
Code Block | ||||
---|---|---|---|---|
| ||||
blueriq.dcm.lists-publisher.rabbitmq.exchangeName=dcmListsEvents ... |
Runtime
Add the following exchanges and queues to the Runtime properties when you want to override queues and exchanges with your owns:
...
Code Block | ||||
---|---|---|---|---|
| ||||
blueriq.timeline.event.listener.amqp.rabbitmq.queueNames=timelineQueue ... |
DCM Lists Service
Add the following queue to the DCM Lists Service properties when you want to override queues and exchanges with your own:
Code Block | ||||
---|---|---|---|---|
| ||||
blueriq: dcm: lists: event: consumer: rabbitmq: queueNames: dcmListsServiceEventsQueue ... |
DCM Maintenance App
Add the following to the DCM Maintenance App properties when you want to override queues and exchanges with your own:
Code Block | ||||
---|---|---|---|---|
| ||||
blueriq: dcm: maintenance: app: dlq: listener: rabbitmq: queueNames: - dcmEventsDlq - dcmTasksEventsDlq - dcmScheduledEventsDlq - traceDlq - timelineDlq - dcmMaintenanceEventsDlq - auditEventsDlq - dcmListsServiceEventsDlq ... errorExchange: dlx.dcmMaintenanceApp case-engine: listener: rabbitmq: queueNames: - dcmMaintenanceEventsQueue errorExchange: dlx.dcmMaintenanceEvents ... |
Concurrent consumers
For the trace-sql-store, timeline-sql-store, case-engine-client components as well as the Case Engine, it's possible to set a number of concurrent consumers.
...