Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

Version 1 Next »

Prerequisite

  • Install Java 17.

  • Ensure your Zephyr Rabbit MQ and ze-jira-webhook. application is set up and running, For RabbitMq Setup follow the instructions on the following page
    [By launching the application in the browser

  • Launch RabbitMq Management in the browser with the host and port (Ex: http://localhost:15672).

Consumer Service Deployment(Jar) :-

  • Download the ze-rabbitmq-consumer.jar

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

  • Add the below line in the file zeRabbitMQConsumer.properties.

Common properties for all the database’s

server.port=9091

# 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

# Note :- hostname should point to continer name if in case you are running rabbitmq consumer on docker
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:8082

# Zephyr service configurations
zephyr.service.baseUrl=http://localhost:8080

# webhook service url --> must needs to pass as vm argument
zephyr.rabbitmq.webhook.baseUrl=http://localhost:9090

# 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:

# Data source configurations applied for mssql
---
spring.config.activate.on-profile=mssql
spring.datasource.url=jdbc:sqlserver://<database_ipaddress>:<database_port>;database=itcc;encrypt=true;trustServerCertificate=true
spring.datasource.username=<datbase_username>
spring.datasource.password=<database_password>
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
---
spring.profiles.active=mssql

 

MySQL:

# Data source configurations applied for mysql
---
spring.config.activate.on-profile=mysql
spring.datasource.url=jdbc:mysql://<database_ipaddress>:<database_port>/itcc?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=<datbase_username>
spring.datasource.password=<database_password>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
---
spring.profiles.active=mysql

 

Oracle:

# Data source configurations applied for oracle
---
spring.config.activate.on-profile=oracle
spring.datasource.url=jdbc:oracle:thin:@<hostname>:<port>:orcl
spring.datasource.username=<datbase_username>
spring.datasource.password=<database_password>
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.jpa.properties.hibernate.default_schema=itcc
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
---
spring.profiles.active=oracle

 

Your sample zeRabbitMQConsumer.properties should look like Below:

MySQL

#MYSQL Properties
server.port=9091
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=test
spring.rabbitmq.password=test

# Data source configurations applied for mysql
---
spring.config.activate.on-profile=mysql
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/itcc?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
---
spring.profiles.active=mysql

#Queue
zephyr.queue.name=ze_queue
zephyr.queue.exchange=ze_exchange
zephyr.queue.routing.key=ze_routing_key
spring.rabbitmq.listener.simple.prefetch=1

# Audit service configurations
audit.service.baseUrl=http://localhost:8082

# Zephyr service configurations
zephyr.service.baseUrl=http://localhost:8080

# webhook service url --> must needs to pass as vm argument
zephyr.rabbitmq.webhook.baseUrl=http://localhost:9090

# Jira retry callback configurations
# BackOffDelay allows dynamic calculation of the delay between retry attempts in millisecond
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

If using context path for webhook service, then webhook service url should be like below:

#webhook service url with context path
zephyr.rabbitmq.webhook.baseUrl=http://localhost:9090/ze-webhook

MSSQL

#MSSQL would look like below:

server.port=9091
spring.rabbitmq.host=localhost
spring.rabbitmq.username=test
spring.rabbitmq.password=test


# Data source configurations applied for mssql
---
spring.config.activate.on-profile=mssql
spring.datasource.username=sa
spring.datasource.password=root
spring.datasource.url=jdbc:sqlserver://zops-50.c4n7zxvdu2ao.ap-southeast-1.rds.amazonaws.com:1433;database=itcc;encrypt=true;trustServerCertificate=true
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
---
spring.profiles.active=mssql

#Queue
zephyr.queue.name=ze_queue
zephyr.queue.exchange=ze_exchange
zephyr.queue.routing.key=ze_routing_key
spring.rabbitmq.listener.simple.prefetch=1

# Audit service configurations
audit.service.baseUrl=http://localhost:8082

# Zephyr service configurations
zephyr.service.baseUrl=http://localhost:8080

# webhook service url --> must needs to pass as vm argument
zephyr.rabbitmq.webhook.baseUrl=http://localhost:9090

# Jira retry callback configurations
# BackOffDelay allows dynamic calculation of the delay between retry attempts in millisecond
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

 

Oracle

#Oracle would look like below:

server.port=9091
spring.rabbitmq.host=localhost
spring.rabbitmq.username=test
spring.rabbitmq.password=test

# Data source configurations applied for oracle
---
spring.config.activate.on-profile=oracle
spring.datasource.username=admin
spring.datasource.password=password
spring.datasource.url=jdbc:oracle:thin:@//ze-oracle19c.c4n7zxvdu2ao.ap-southeast-1.rds.amazonaws.com:1521/orcl
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.jpa.properties.hibernate.default_schema=itcc
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
---
spring.profiles.active=oracle

#Queue
zephyr.queue.name=ze_queue
zephyr.queue.exchange=ze_exchange
zephyr.queue.routing.key=ze_routing_key
spring.rabbitmq.listener.simple.prefetch=1

# Audit service configurations
audit.service.baseUrl=http://localhost:8082

# Zephyr service configurations
zephyr.service.baseUrl=http://localhost:8080

# webhook service url --> must needs to pass as vm argument
zephyr.rabbitmq.webhook.baseUrl=http://localhost:9090

# Jira retry callback configurations
# BackOffDelay allows dynamic calculation of the delay between retry attempts in millisecond
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

 

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

 

java -jar -Dspring.profiles.active=<db> -DzeConsumerConfigPath="<config file path till root folder>" ze-rabbitmq-cons

Example command for mysql:

java -jar -Dspring.profiles.active=mysql -DzeConsumerConfigPath="/home/ubuntu/Foldername" ze-rabbitmq-consumer.jar

Consumer started snapshot for reference: -

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

Note: -

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

  • --- at the starting and ending of db configuration is necessary. Follow the same mentioned.


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

     

    image.webp

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

  • No labels