Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align RabbitMq and MongoDb connection configuration and use the URI confiugation parameter #212

Open
tobiasake opened this issue Feb 16, 2021 · 0 comments

Comments

@tobiasake
Copy link
Contributor

tobiasake commented Feb 16, 2021

Description

Today all Eiffel components configuration handles RabbitMq connection configuration differentially.
To make configuration more flexible and align with all component, 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

With this change this will be removed:

rabbitmq.instances.jsonlist=[{ "mp": "eiffelsemantics", "host": "127.0.0.1", "port": "5672", "virtualHost": "", "username": "guest", "password": "guest", "tls": "", "exchangeName": "amq.direct", "channelsCount": "1", "domainId": "eiffelxxx", "createExchangeIfNotExisting":true },
{ "mp": "eiffelprotocol", "host": "127.0.0.1", "port": "5672", "virtualHost": "", "username": "guest", "password": "guest", "tls": "", "exchangeName": "amq.direct", "domainId": "eiffelxxx", "channelsCount": "1", "createExchangeIfNotExisting":true }]

and is replaced with this new property:

rabbitmq.instances.jsonlist=[{ "mp": "eiffelsemantics", "uri": "amqps://username:password@server-address:port/vhost?parameter1=value1&parameter2=value2&......" },
{ "mp": "eiffelprotocol", "uri": "amqps://username:password@server-address:port/vhost?parameter1=value1&parameter2=value2&......" }]

Or if there is a better way of handling different Eiffel protocol versions and different RabbitMq Amqp connections, feel free to come up with other suggestions.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant