Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

* 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.

Each component needs to know where the RabbitMQ instance is hosted, which port it is using, what the user credentials, which virtual host is needed and of course what the exchange and/or queue names are.

Dcm needs to know the values of these properties. This can be achieved two ways.

Per DCM component you can declare the common properties: host, port, username, password, virtualhost and ssl just once and all listeners and publishers will use the same properties. 

Code Block
languagepowershell
titleapplication.properties
...
blueriq.default.rabbitmq.host=localhost
blueriq.default.rabbitmq.port=30010
blueriq.default.rabbitmq.username=guest
blueriq.default.rabbitmq.password=guest
blueriq.default.rabbitmq.virtualHost=/
blueriq.default.rabbitmq.ssl.enabled= false

Add these properties to the application.properties file of the component (i.e. Runtime, Case Engine etc.) to override common RabbitMQ properties for each queue/exchange. The queue and exchange names of the definitions.json file will still be used.

If desired, it is possible to configure other exchanges/queues in each component individually. To do thatIts 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 omitted for brevity and replaced by "..." in the configuration below. Examples of the property files can be viewed at the page of its corresponding component.  

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:

...

Code Block
languageyml
titleblueriq-dcm-lists.yml
blueriq:
  dcm:
    maintenance:
      app:   
        dlq:
          listener:
            rabbitmq:
              queueNames: 
                - dcmEventsDlq
                - dcmTasksEventsDlq
                - dcmScheduledEventsDlq
              ...

        case-engine:
          listener:
            rabbitmq:
              queueNames: 
                - dcmMaintenanceEventsQueue
			  ...

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.

We have implemented the concurrentConsumers  and maxConcurrentConsumers properties, which will affect the concurrent consuming of messages from the queue. More on these properties can be found here: Listener concurrency.

The property page of each component will show the properties to use. Please note the considerations on the following page: Deployment considerations DCM.