# RabbitMQ Prerequisites

When upgrading or installing the latest version of Atlas Copco Data Communication, make sure RabbitMQ prerequisites are set before starting. If these were already set in the previous version, you can skip the steps below.

Ensure that the Atlas Copco Data Communication service is stopped before configuring RabbitMQ to use version 2 (v2) of the queues.

1. Ensure all non-meta data queues on the ACDC-Internal virtual host are empty.

2. Stop the RabbitMQ service and navigate to the RabbitMQ folder. The default path is C:\Users\{username}\AppData\Roaming\RabbitMQ. Adjust the path if you have a custom installation.

3. Locate or create the configuration file for RabbitMQ: rabbitmq.conf.

4. Add the following configuration setting to the file.

   `# Set the default version for classic queues`

   `classic_queue.default_version = 2`

   `# Use '2' for classic queues (v2)`

5. Restart the RabbitMQ service.

6. Apply a policy to the ACDC-InternalServices virtual host to ensure its queues run exclusively on version 1 (v1):

   1. Open the Admin tab in RabbitMQ.

   2. Select Policies.

   3. Add or update a policy using the following settings:

      - Virtual host: ACDC-InternalServices

      - Name: v1policy

      - Apply to: Queues

      - Definition: queue-version = 1

7. Delete all queues for the controllers on the ACDC-Internal virtual host before starting the Atlas Copco Data Communication service.

Additional information

- Delete all queues on ACDC Internal

  RabbitMQ's topology has been updated to version 3.6. To ensure proper configuration and avoid unexpected behavior, all queues in the ACDC internal vhost must be deleted before setting up the new topology.

- Exclude RabbitMQ folders from Antimalware (Recommendation)

  To prevent RabbitMQ queues from entering a “Down” state—which can disrupt a significant portion of the system—it is recommended to exclude all RabbitMQ folders from antimalware scanning.

- Upgrade to secure erlang version (SSH) (Recommendation)

  By default, RabbitMQ does not enable Erlang’s SSH module. However, administrators and operators can manually enable it, which may introduce potential security vulnerabilities.

Relevant Information

- Upgrade Prerequisites