Implements: IOpenable, IConfigurable, IReferenceable
Description
The GrpcEndpoint class allows you to create GRPC endpoints. An endpoint is a URL, at which a given service can be accessed by a client.
Configuration parameters
Parameters to pass to the :func:configure method for component configuration:
connection(s): the connection resolver’s connections:
- “connection.discovery_key”: key used for connection resolving in a discovery service;
- “connection.protocol”: connection’s protocol;
- “connection.host”: target host;
- “connection.port”: target port;
- “connection.uri”: target URI. credential: HTTPS credentials:
- “credential.ssl_key_file”: SSL private key in PEM
- “credential.ssl_crt_file”: SSL certificate in PEM
- “credential.ssl_ca_file”: certificate authorities (root cerfiticates) in PEM
References
A logger, counters, and a connection resolver can be referenced by passing the following references to the object’s set_references
- *:discovery:*:*:1.0 - (optional) IDiscovery services
- *:logger:*:*:1.0 - (optional) ILogger components to pass log messages
- *:counters:*:*:1.0 - (optional) ICounters components to pass collected measurementsand as specified by the counter’s source.
Instance methods
close
Closes this endpoint and the GRPC server (service) that was opened earlier.
publicvoid close(IContext context)
- context: IContext - (optional) a context to trace execution through a call chain .
configure
Configures this HttpEndpoint using the given configuration parameters.
publicvoid configure(ConfigParams config) throws ConfigException
- config: ConfigParams - configuration parameters, containing a “connection(s)” section.
isOpen
Checks if the component is open.
publicboolean isOpen()
- returns: boolean - whether or not this endpoint is open with an actively listening GRPC server.
open
Opens a connection using the parameters resolved by the referenced connection resolver and creates a GRPC server (service) using the set options and parameters.
publicvoid open(IContext context) throws ApplicationException
- context: IContext - (optional) a context to trace execution through a call chain.
register
Registers a registerable object for dynamic endpoint discovery.
publicvoid register(IRegisterable registration)
- registration: IRegisterable - registration to be added.
registerService
Registers a service with related implementation
publicvoid registerService(ServerServiceDefinition service)
- service: ServerServiceDefinition - a GRPC service object.
registerService
Registers a service with related implementation
publicvoid registerService(ServerServiceDefinition service)
- service: ServerServiceDefinition - a GRPC service object.
setReferences
Sets references to this endpoint’s logger, counters, and connection resolver.
publicvoid setReferences(IReferences references) throws ReferenceException, ConfigException
- references: IReferences - an IReferences object, containing references to a logger, counters, and a connection resolver.
unregister
Unregisters a registerable object, so that it is no longer used in dynamic
publicvoid unregister(IRegisterable registration)
- registration: IRegisterable - the registration to remove.
Examples
{@code
  public MyMethod(ConfigParams config, IReferences references) {
      let endpoint = new HttpEndpoint();
      if (this._config)
          endpoint.configure(this._config);
      if (this._references)
          endpoint.setReferences(this._references);
      ...
      this._endpoint.open(context);
  }
  }