Interface Activator


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:

  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 Details

    • activate

      ActivationResult activate(ActivationRequest activationRequest)
      Activate a managed service/provider.
      Parameters:
      activationRequest - activation request
      Returns:
      the result of the activation