pip_services3_components.connect.MemoryDiscovery module

pip_services3_components.connect.MemoryDiscovery

Memory discovery 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.MemoryDiscovery.DiscoveryItem

Bases: object

Used to store key-identifiable information about connections.

connection: pip_services3_components.connect.ConnectionParams.ConnectionParams = None
key: str = None
class pip_services3_components.connect.MemoryDiscovery.MemoryDiscovery(config: pip_services3_commons.config.ConfigParams.ConfigParams = None)

Bases: pip_services3_components.connect.IDiscovery.IDiscovery, pip_services3_commons.config.IReconfigurable.IReconfigurable

Discovery service that keeps connections in memory.

### Configuration parameters ###
  • [connection key 1]:

  • … connection parameters for key 1

  • [connection key 2]:

  • … connection parameters for key N

Example:

config = ConfigParams.from_tuples(
    "connections.key1.host", "10.1.1.100",
    "connections.key1.port", "8080",
    "connections.key2.host", "10.1.1.100",
    "connections.key2.port", "8082"
)

discovery = MemoryDiscovery()
discovery.configure(config)

connection = discovery.resolve_one("123", "key1")
# Result: host=10.1.1.100;port=8080
configure(config: pip_services3_commons.config.ConfigParams.ConfigParams)

Configures component by passing configuration parameters.

Parameters

config – configuration parameters to be set.

read_connections(connections: pip_services3_commons.config.ConfigParams.ConfigParams)

Reads connections from configuration parameters. Each section represents an individual Connection params

Parameters

connections – configuration parameters to be read

register(correlation_id: Optional[str], key: str, connection: pip_services3_components.connect.ConnectionParams.ConnectionParams)pip_services3_components.connect.ConnectionParams.ConnectionParams

Registers connection parameters into the discovery service.

Parameters
  • correlation_id – (optional) transaction id to trace execution through call chain.

  • key – a key to uniquely identify the connection parameters.

  • connection – a connection to be registered.

Returns

the registered connection parameters.

resolve_all(correlation_id: Optional[str], key: str) → List[pip_services3_components.connect.ConnectionParams.ConnectionParams]

Resolves all connection parameters by their key.

Parameters
  • correlation_id – (optional) transaction id to trace execution through call chain.

  • key – a key to uniquely identify the connections.

Returns

a list with resolved connections.

resolve_one(correlation_id: Optional[str], key: str)pip_services3_components.connect.ConnectionParams.ConnectionParams

Resolves a single connection parameters by its key.

Parameters
  • correlation_id – (optional) transaction id to trace execution through call chain.

  • key – a key to uniquely identify the connection.

Returns

a resolved connection.