Skip to content

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

@tobiasake

Description

@tobiasake

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions