ZE-Consumer Deployment

Prerequisite

Consumer Service Deployment (Jar)

  • Create a directory under folder opt “zephyrservice”

mkdir zephyrservice
  • Download the ze-rabbitmq-consumer.jar and copy it under zephyrservice

  • Create a ze-rabbitmq-consumer config file Named “zeRabbitMQConsumer.properties" under folder zephyrservice

vi zeRabbitMQConsumer.properties

Add the below line to the file:

#Consumer Service port server.port=8082 # Rabbitmq config zephyr.queue.name=ze_queue zephyr.queue.exchange=ze_exchange zephyr.queue.routing.key=ze_routing_key spring.rabbitmq.listener.simple.prefetch=1 spring.rabbitmq.host=<rabbitmq_hostname> spring.rabbitmq.port=<rabbitmq_port> spring.rabbitmq.username=<rabbitmq_username> spring.rabbitmq.password=<rabbitmq_password> # Audit service configurations audit.service.baseUrl=http://localhost:8083 # Zephyr service configurations zephyr.service.baseUrl=http://localhost:8080 # webhook service url zephyr.rabbitmq.webhook.baseUrl=http://localhost:8081/webhook # Jira retry callback configurations # BackOffDelay allows dynamic calculation of the delay between retry attempts zephyr.jiracall.retry.backOffDelay=500 # multiplier allows dynamic calculation of the multiplier factor for exponential backoff zephyr.jiracall.retry.multiplier=2 # maxAttempts specifies the maximum number of retry attempts for the jira call. zephyr.jiracall.retry.maxAttempts=1

 

Append the below database-specific properties based on the Zephyr database you are using.

MsSQL:

 

MySQL:

 

Oracle:

 

Your sample zeRabbitMQConsumer.properties should look like Below:

MySQL

MSSQL

Oracle

  •  Make sure port 8082 is available.

  • zeRabbitMQConsumer should be able to connect with RabbitMQ.

  • zeRabbitMQConsumer should be able to connect to the Database of Zephyr.

Run the following command to start the ze-rabbitmq-consumer:

Example command for mysql:

Consumer started snapshot for reference: -

e021e1b2-dca5-4561-aae6-7fc08eace137.png

Verification in the browser:

Verify webhook application status by using http://<hostname>:8082/actuator/health.

Note: -

  • The Logs folder will be created where your jars are deployed. Separate log files will be created for each jar.

  • --- at the start and end of the DB configuration is necessary. Follow the same mentioned.

 

Consumer Service Deployment (Docker): -

  • Install Docker in the System

  • Create a directory under folder opt “zephyrservice”

  • Download the Docker compose and copy it under zephyrservice

  • Create a ze-rabbitmq-consumer config file Named “zeRabbitMQConsumer.properties" under folder zephyrservice

Add the below line to the file:

Append the below database-specific properties based on the Zephyr database you are using.

MsSQL:

MySQL:

Oracle:

Your sample zeRabbitMQConsumer.properties should look like Below:

MySQL

MSSQL

Oracle

  • Make sure port 8082 is available.

  • zeRabbitMQConsumer should be able to connect with RabbitMQ.

  • zeRabbitMQConsumer should be able to connect to the Database of Zephyr.

Start the ze-jira-webhook with docker with the following command.

  • Navigate to zephyrservice and run the below command:

Verification in the browser:

Verify webhook application status by using http://<hostname>:8082/actuator/health

Post Deployment verification on RabbitMq

  • Once your webhook and consumer jar are up ze_queue,ze_exchange, and ze_routing_key will be created as mentioned in the properties file.

  • In the Management UI, you can verify.
    → "ze_queue" with type as "quorum" will be created in the Queues and Streams tab

     

    image-20240328-073430.png

    → "ze_exchange" with type as "topic" will be created in the Exchanges tab

     

    → Click on the "ze_exchange” → queue name as “ze_queue“ and Routing key as “ze_routing_key“ will be created in Bindings.