eiffel-community / eiffel-intelligence

Eiffel Intelligence is a real time data aggregation and analysis solution for Eiffel events.
Apache License 2.0
11 stars 72 forks source link

Align RabbitMq and MongoDb connection configuration and use the URI confiugation paramter #491

Open tobiasake opened 3 years ago

tobiasake commented 3 years ago

Description

Today all Eiffel components configuration handles RabbitMq connection configuration differential. To make configuration more flexible and align with all components, all Eiffel components should use the URI format.

RabbitMq URI Specification configuration Documentaion: https://www.rabbitmq.com/uri-spec.html Some RabbitMq URI connection parameters: https://www.rabbitmq.com/uri-query-parameters.html

Eiffel-Intelligence already use the MongoDb URI configuration format, so its only RabbitMq that should follow this format.

With this change these properties will be removed:

rabbitmq.host: localhost rabbitmq.port: 5672 rabbitmq.user: myuser rabbitmq.password: myuser rabbitmq.tls.version:

and is replaced with this new parameter: rabbitmq.uri: amqps://username:password@server-address:port/vhost?parameter1=value1&parameter2=value2&......

Motivation

Flexible to configuration the AMQP connection without need of adding connection properties and java code for configuring amqp connection with the new connection property. Same motivation for MongoDB URI connection parameter. Align so all Eiffel component configures MongoDb and RabbitMq in same way and with same URI.

Exemplification

Benefits

More flexible to configure Amqp/MongoDb connections. Align configuration in all Eiffel components.

Possible Drawbacks

Minor is that mongodb/rabbitmq connection properties will change from current properties to the new URI connection property.