You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

For the DCM setup, we use several queues and exchanges. We use dead letter queues to store messages that could not be processed, because an error occurred when processing. The error should be visible in the log file. Messages on these dead letter queues will be automatically retried by the DCM Maintenance Application. If it exceeds the configured amount of retries it should be reviewed manually by a system administrator instead. There is no notification mechanism for dead letter messages, so Blueriq advises to check the dead letter queues periodically.

All names below can be changed if needed however, the 'dlx.' prefix for dead letter exchanges is mandatory and the dead letter exchange name should be the same as its corresponding exchange.

RabbitMQ

Its possible to configure RabbitMQ manually using the following steps:

All exchanges are of type "fanout". For each exchange, create a binding for the corresponding queue on the right.


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

 

 

Case Engine

dcmMaintenanceEvents

dcmMaintenanceEventsQueue

DCM Maintenance App


 

Case Engine

dcmScheduledEvents

dcmEventsQueue*

Case Engine

dlx.dcmScheduledEvents

dcmScheduledEventsDlq

Case Engine

dcmTasksEvents

dcmTasksEventsQueue

Case Engine, Runtime

dlx.dcmTaskEvents

dcmTasksEventsDlq

Case Engine, Runtime

timelineEvents

timelineQueue

Case Engine, Runtime

 

 

Case Engine, Runtime

traceEvents

traceQueue

Case Engine, Runtime

 

 

* This exchange publishes to the same queue as the dcmEvents exchange.

Application properties

Its necessary to configure the right exchanges and queues in the right application, the following properties can be used.

Note that not all properties have been described. The host, port, virtualHost, username, password etc. are ommited for brevity.

Case Engine

  1. Add the following exchanges and queues to the Case Engine properties Case Engine Configuration (application-case-engine.properties):
    1. blueriq.case.engine.maintenance.rabbitmq.exchangeName=dcmMaintenanceEvents
    2. blueriq.case.engine.rabbitmq.queueNames=dcmEventsQueue
    3. blueriq.case.engine.rabbitmq.exchangeName=dcmEvents
    4. blueriq.case.engine.scheduler.rabbitmq.exchangeName=dcmScheduledEvents
    5. blueriq.process.engine.v2.automatic-task.rabbitmq.exchangeName=dcmTasksEvents
  2. If the Trace publisher is enabled add the the following to the Case Engine properties (application-trace-event-publisher-amqp.properties):
    1. blueriq.trace.event.publisher.channel.amqp.rabbitmq.exchangeName=traceEvents
  3. If the Timeline publisher is enabled add the following to the Case Engine properties (application-timeline-event-publisher-amqp.properties):
    1. blueriq.timeline.event.publisher.amqp.rabbitmq.exchangeName=timelineEvents
  4. For the Case Engine to communicate to the DCM Lists Service add the following to the Case Engine properties (application-dcm-lists-publisher.properties):
    1. blueriq.dcm.lists-publisher.rabbitmq.exchangeName=dcmListsEvents

Runtime

  1. Add the following exchanges and queues to the Runtime properties (application-case-engine-client.properties):
    1. blueriq.dcm.rabbitmq.exchangeName=dcmEvents
    2. blueriq.dcm.rabbitmq.queueNames=dcmTasksEventsQueue
    3. blueriq.process.engine.v2.automatic-task.rabbitmq.exchangeName=dcmTasksEvents
  2. If the Trace publisher is enabled add the the following to the Runtime properties (application-trace-event-publisher-amqp.properties):
    1. blueriq.trace.event.publisher.channel.amqp.rabbitmq.exchangeName=traceEvents
  3. If the Trace SQL Store is enabled add the the following to the Runtime properties (application-trace-sql-store.properties):
    1. blueriq.trace.event.listener.amqp.rabbitmq.queueNames=traceQueue
  4. If the Timeline publisher is enabled add the following to the Runtime properties (application-timeline-event-publisher-amqp.properties):
    1. blueriq.timeline.event.publisher.amqp.rabbitmq.exchangeName=timelineEvents
  5. If the Timeline SQL Store is enabled add the following to the Runtime properties (application-timeline-sql-store.properties):
    1. blueriq.timeline.event.listener.amqp.rabbitmq.queueNames=timelineQueue
  • No labels