Interface ApplicationDeployer


public interface ApplicationDeployer
Transport-neutral deployer API for packaging, repository deployment, and live activation.

Implementations must wrap public failures in the common middleware error model. This first vertical slice supports package, verify, deploy, plan, activate, deactivate, unload, and list. Upgrade and rollback are represented by explicit result types but may remain unsupported by an implementation.

  • Method Details

    • packageApplication

      ApplicationBundle packageApplication(PackageRequest request)
      Packages an application into a .j7m bundle without activating it.
      Parameters:
      request - package request
      Returns:
      packaged bundle descriptor
    • verify

      Verifies a bundle without executing application code.
      Parameters:
      bundle - bundle to verify
      options - verification options
      Returns:
      structured verification result
    • deploy

      Deploys a verified bundle into the configured repository.
      Parameters:
      bundle - bundle to deploy
      options - deployment options
      Returns:
      deployment result
    • planActivation

      Creates an activation plan for an exact coordinate.
      Parameters:
      coordinate - application coordinate to activate
      options - activation planning options
      Returns:
      activation plan
    • activate

      Activates an application in the target runtime.
      Parameters:
      coordinate - application coordinate to activate
      request - activation request
      Returns:
      activation snapshot
    • deactivate

      Deactivates a running application instance.
      Parameters:
      instanceId - active instance id
      options - deactivation options
      Returns:
      deactivation result
    • drain

      Drains a running application instance without stopping or unloading it.

      Implementations that support live application lifecycle operations must make this a distinct lifecycle transition rather than an alias for deactivate(ApplicationInstanceId, DeactivationOptions). A successful drain stops accepting new application invocations, marks readiness false where the implementation exposes readiness, invokes the application drain hook, preserves exported-service cleanup diagnostics, and leaves the instance owned by the manager for a later stop or unload sequence. Calling this method for an already draining instance is idempotent.

      The default implementation is provided for source compatibility with older deployers. It reports truthful unavailability and performs no lifecycle mutation.

      Parameters:
      instanceId - active instance id
      options - deactivation options controlling future graceful behavior
      Returns:
      drain result
    • unload

      Unloads a stopped application instance.
      Parameters:
      instanceId - stopped instance id
      options - unload options
      Returns:
      unload result
    • upgrade

      Performs an upgrade to a target coordinate.
      Parameters:
      instanceId - active instance id
      targetVersion - target coordinate
      options - upgrade options
      Returns:
      upgrade result
    • rollback

      Rolls an upgraded instance back to its recorded rollback candidate.
      Parameters:
      instanceId - active instance id
      options - rollback options
      Returns:
      rollback result
    • activeApplication

      default ApplicationActivation activeApplication(ApplicationInstanceId instanceId)
      Returns the current activation snapshot for one active application instance.

      This method is an exact lookup contract for administrative lifecycle operations that need one instance state without allocating or scanning a complete active-application listing. Implementations that do not support exact lookup should return null; callers must treat a null value as unknown state rather than as authorization or lifecycle success. The default implementation is provided for source compatibility with older deployers and performs no repository or runtime mutation.

      Parameters:
      instanceId - application instance id
      Returns:
      activation snapshot, or null when unavailable or unknown
    • listActiveApplications

      List<ApplicationActivation> listActiveApplications(ApplicationQuery query)
      Lists active applications matching a query.
      Parameters:
      query - application query
      Returns:
      matching active application snapshots