- 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
ServiceProvider
managing 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.ActivationResult
activate
(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
-