- All Known Implementing Classes:
AbstractServiceProvider,ConfigDrivenServiceProviderBase,ReflectionBasedSingletonServiceProvider
public interface Activator
Activators are responsible for lifecycle creation and lazy activation of service providers. They are responsible for taking the
ServiceProvider's manage service instance from Phase.PENDING
through Phase.POST_CONSTRUCTING (i.e., including any
PostConstructMethod invocations, etc.), and finally into the
Phase.ACTIVE phase.
Assumption:
- Each
ServiceProvidermanaging its backing service will have an activator strategy conforming to the DI specification. - Each services activation is expected to be non-blocking, but may in fact require deferred blocking activities to become fully ready for runtime operation.
- Management of the service's
Phase. - Control over creation (i.e., invoke the constructor non-reflectively).
- Control over gathering the service requisite dependencies (ctor, field, setters) and optional activation of those.
- Invocation of any
PostConstructMethod. - Responsible to logging to the
ActivationLog- seeInjectionServices.activationLog().
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionio.helidon.inject.api.ActivationResultactivate(io.helidon.inject.api.ActivationRequest activationRequest) Activate a managed service/provider.
-
Method Details
-
activate
io.helidon.inject.api.ActivationResult activate(io.helidon.inject.api.ActivationRequest activationRequest) Activate a managed service/provider.- Parameters:
activationRequest- activation request- Returns:
- the result of the activation
-