pip_services3_components.connect.ConnectionResolver module
pip_services3_components.connect.ConnectionResolver
Connection resolver implementation
- copyright
Conceptual Vision Consulting LLC 2018-2019, see AUTHORS for more details.
- license
MIT, see LICENSE for more details.
-
class
pip_services3_components.connect.ConnectionResolver.
ConnectionResolver
(config: pip_services3_commons.config.ConfigParams.ConfigParams = None, references: pip_services3_commons.refer.IReferences.IReferences = None) Bases:
pip_services3_commons.config.IConfigurable.IConfigurable
,pip_services3_commons.refer.IReferenceable.IReferenceable
Helper class to retrieve component connections.
If connections are configured to be retrieved from
IDiscovery
, it automatically locatesIDiscovery
in component references and retrieve connections from there using discovery_key parameter.- ### Configuration parameters ###
- connection:
discovery_key: (optional) a key to retrieve the connection from IDiscovery
… other connection parameters
- connections: alternative to connection
[connection params 1]: first connection parameters
… connection parameters for key 1
[connection params N]: Nth connection parameters
… connection parameters for key N
- ### References ###
*:discovery:*:*:1.0 (optional) IDiscovery services to resolve connections
Example:
config = ConfigParams.from_tuples("connection.host", "10.1.1.100", "connection.port", 8080) connectionResolver = ConnectionResolver() connectionResolver.configure(config) connectionResolver.set_references(references) connectionResolver.resolve("123")
-
add
(connection: pip_services3_components.connect.ConnectionParams.ConnectionParams) Adds a new connection to component connections
- Parameters
connection – new connection parameters to be added
-
configure
(config: pip_services3_commons.config.ConfigParams.ConfigParams) Configures component by passing configuration parameters.
- Parameters
config – configuration parameters to be set.
-
get_all
() → List[pip_services3_components.connect.ConnectionParams.ConnectionParams] Gets all connections configured in component configuration. Redirect to Discovery services is not done at this point. If you need fully fleshed connection use
resolve()
method instead.- Returns
a list with connection parameters
-
register
(correlation_id: Optional[str], connection: pip_services3_components.connect.ConnectionParams.ConnectionParams) Registers the given connection in all referenced discovery services. This method can be used for dynamic service discovery.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
connection – a connection to register.
-
resolve
(correlation_id: Optional[str]) → Optional[pip_services3_components.connect.ConnectionParams.ConnectionParams] Resolves a single component connection. If connections are configured to be retrieved from Discovery service it finds a
IDiscovery
and resolves the connection there.- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
- Returns
resolved connection parameters or null if nothing was found.
-
resolve_all
(correlation_id: Optional[str]) → List[pip_services3_components.connect.ConnectionParams.ConnectionParams] Resolves all component connection. If connections are configured to be retrieved from Discovery service it finds a
IDiscovery
and resolves the connection there.- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
- Returns
a list of resolved connections.
-
set_references
(references: pip_services3_commons.refer.IReferences.IReferences) Sets references to dependent components.
- Parameters
references – references to locate the component dependencies.