Interface Activator


@Deprecated(forRemoval=true, since="4.0.8") public interface Activator
Deprecated, for removal: This API element is subject to removal in a future version.
Helidon inject is deprecated and will be replaced in a future version
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:

  1. Each ServiceProvider managing its backing service will have an activator strategy conforming to the DI specification.
  2. Each services activation is expected to be non-blocking, but may in fact require deferred blocking activities to become fully ready for runtime operation.
Activation includes:
  1. Management of the service's Phase.
  2. Control over creation (i.e., invoke the constructor non-reflectively).
  3. Control over gathering the service requisite dependencies (ctor, field, setters) and optional activation of those.
  4. Invocation of any PostConstructMethod.
  5. Responsible to logging to the ActivationLog - see InjectionServices.activationLog().
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    activate(ActivationRequest activationRequest)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Activate a managed service/provider.
  • Method Details

    • activate

      ActivationResult activate(ActivationRequest activationRequest)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Activate a managed service/provider.
      Parameters:
      activationRequest - activation request
      Returns:
      the result of the activation