Additional configuration that will be added to the main system configuration.
Describes a service.
This trait allows Lagom integrations to define additional configuration that gets mixed into the application trait.
This trait allows Lagom integrations to define additional configuration that gets mixed into the application trait.
By extending this, and overriding additionalConfiguration
, an integration can inject configuration, and the user
can control which order this configuration gets applied by changing the order in which traits are mixed together.
A Lagom service descriptor.
A Lagom service descriptor.
This trait provides a DSL for describing a service. It is inherently constrained in its use.
A service can describe itself by defining a trait that extends this trait, and provides an implementation for the Service#descriptor method.
A service call for an entity.
A service call for an entity.
A service call has a request and a response entity. Either entity may be NotUsed, if there is no entity associated with the call. They may also be an Akka streams Source, in situations where the endpoint serves a stream. In all other cases, the entities will be considered "strict" entities, that is, they will be parsed into memory, eg, using json.
Locates services.
Locates services.
The service locator is responsible for two things, one is locating services according to the passed in name and service call information, the other is to implement circuit breaking functionality when #doWithService is invoked.
The reason circuit breaking is a service locator concern is that generally, the service locator will want to be aware of when a circuit breaker is open, and respond accordingly. For example, it may decide to pull that node from its routing pool, or it may decide to notify some up stream service registry that that node is no longer responding.
Provides implicit conversions and macros to implement the service descriptor DSL.
Describes a service.
A descriptor is a set of call and topic descriptors that the service provides, coupled with metadata about how the service and its calls are to be served. Metadata may include versioning and migrations, SLA's, sharding hints, circuit breaker strategies etc.