Class ApplicationManager
java.lang.Object
org.j7m.middleware.deployer.ApplicationManager
Runtime-adjacent manager for classloader-based live application activation.
The manager is thread-safe. It owns extracted bundle directories, application classloaders, lifecycle objects, and registrations it creates. It delegates service export and registry binding to the existing Phase 1 runtime API and does not depend on concrete transport implementations.
-
Constructor Summary
ConstructorsConstructorDescriptionApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository) Creates an application manager.ApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository, ApplicationPlatformLimits limits) Creates an application manager with explicit application-platform limits.ApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository, ApplicationPlatformLimits limits, ManagedHostingOptions managedHostingOptions) Creates a manager with explicit trusted managed-profile capabilities.ApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository, ApplicationPlatformLimits limits, ManagedHostingOptions managedHostingOptions, PublicKeyTrustStore signingTrust) Creates a host with explicit operator-owned bundle-signing trust. -
Method Summary
Modifier and TypeMethodDescriptionorg.j7m.middleware.application.api.ApplicationActivationactivate(org.j7m.middleware.application.api.ApplicationCoordinate coordinate, org.j7m.middleware.application.api.ApplicationActivationRequest request) Activates an application from a repository coordinate.org.j7m.middleware.application.api.ApplicationActivationactive(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Returns the active snapshot for one exact application instance.Returns safe local application-platform status.Returns bounded safe lifecycle audit events emitted by this manager.org.j7m.middleware.application.api.ApplicationDeploymentResultdeactivate(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Deactivates a running application instance.org.j7m.middleware.application.api.ApplicationDeploymentResultdrain(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Drains a running application instance without stopping or unloading it.List<org.j7m.middleware.application.api.ApplicationActivation> Lists historical activation snapshots released from the active manager set.List<org.j7m.middleware.application.api.ApplicationActivation> list(org.j7m.middleware.application.api.ApplicationQuery query) Lists active application snapshots matching the query.org.j7m.middleware.application.api.ApplicationDeploymentPlanplanActivation(org.j7m.middleware.application.api.ApplicationCoordinate coordinate) Creates an activation plan for an application coordinate.org.j7m.middleware.application.api.ApplicationDeploymentPlanplanActivation(org.j7m.middleware.application.api.ApplicationCoordinate coordinate, boolean strictVerification, Map<String, String> configuration) Creates an activation plan without mutating runtime state.probes(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Returns host-only probes bound to the exact activation generation.probeStatus(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Returns a cached bounded operational observation without executing application code.org.j7m.middleware.application.api.ApplicationDeploymentResultrollback(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, org.j7m.middleware.application.api.ApplicationActivationRequest request) Rolls back a running upgraded application to its previous coordinate.Class<?> serviceInterface(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, String interfaceName) Loads an exported service interface class for an active application.org.j7m.middleware.application.api.ApplicationDeploymentResultunload(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Unloads a stopped application instance and releases local references.org.j7m.middleware.application.api.ApplicationDeploymentResultupgrade(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, org.j7m.middleware.application.api.ApplicationCoordinate targetVersion, String strategy, org.j7m.middleware.application.api.ApplicationActivationRequest request) Performs a stop-start upgrade to an exact target coordinate.org.j7m.middleware.application.api.ApplicationDeploymentResultupgrade(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, org.j7m.middleware.application.api.ApplicationCoordinate targetVersion, org.j7m.middleware.deployer.api.UpgradeOptions options, org.j7m.middleware.application.api.ApplicationActivationRequest request) Upgrades an active application using a local-runtime strategy.Returns upgrade and rollback history.
-
Constructor Details
-
ApplicationManager
public ApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository) Creates an application manager.- Parameters:
runtime- runtime used for service export and registry bindingrepository- application repository used to fetch bundles
-
ApplicationManager
public ApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository, ApplicationPlatformLimits limits) Creates an application manager with explicit application-platform limits.- Parameters:
runtime- runtime used for service export and registry bindingrepository- application repository used to fetch bundleslimits- bundle extraction and metadata limits
-
ApplicationManager
public ApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository, ApplicationPlatformLimits limits, ManagedHostingOptions managedHostingOptions) Creates a manager with explicit trusted managed-profile capabilities. Existing activation requests remain legacy unless j7m.annotations.profile is managed-v1.- Parameters:
runtime- runtime owning authenticated transports and exportsrepository- verified application repositorylimits- extraction and admission bounds, or null for defaultsmanagedHostingOptions- host-owned finite integrations/policies; never bundle supplied- Throws:
IllegalArgumentException- for missing runtime or repositoryNullPointerException- for missing host options
-
ApplicationManager
public ApplicationManager(org.j7m.middleware.api.MiddlewareRuntime runtime, org.j7m.middleware.application.api.ApplicationRepository repository, ApplicationPlatformLimits limits, ManagedHostingOptions managedHostingOptions, PublicKeyTrustStore signingTrust) Creates a host with explicit operator-owned bundle-signing trust. Signature keys are independent of application metadata and repository verification records. Older constructors retain local development trust for compatibility.- Parameters:
runtime- authenticated runtime and export ownerrepository- application artifact repositorylimits- extraction and metadata bounds, or null for defaultsmanagedHostingOptions- explicit host integration capabilitiessigningTrust- immutable operator-provided public signing keys; empty denies signed artifacts- Throws:
IllegalArgumentException- for missing runtime or repositoryNullPointerException- for missing options or trust store
-
-
Method Details
-
planActivation
public org.j7m.middleware.application.api.ApplicationDeploymentPlan planActivation(org.j7m.middleware.application.api.ApplicationCoordinate coordinate) Creates an activation plan for an application coordinate.- Parameters:
coordinate- application coordinate to plan- Returns:
- activation plan
-
planActivation
public org.j7m.middleware.application.api.ApplicationDeploymentPlan planActivation(org.j7m.middleware.application.api.ApplicationCoordinate coordinate, boolean strictVerification, Map<String, String> configuration) Creates an activation plan without mutating runtime state.- Parameters:
coordinate- application coordinate to planstrictVerification- whether strict verification is requiredconfiguration- safe planning configuration- Returns:
- activation plan
-
activate
public org.j7m.middleware.application.api.ApplicationActivation activate(org.j7m.middleware.application.api.ApplicationCoordinate coordinate, org.j7m.middleware.application.api.ApplicationActivationRequest request) Activates an application from a repository coordinate.- Parameters:
coordinate- application coordinate to activaterequest- activation request- Returns:
- activation snapshot
-
deactivate
public org.j7m.middleware.application.api.ApplicationDeploymentResult deactivate(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Deactivates a running application instance.- Parameters:
instanceId- active instance id- Returns:
- deactivation result
-
drain
public org.j7m.middleware.application.api.ApplicationDeploymentResult drain(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Drains a running application instance without stopping or unloading it.The transition is idempotent for an already draining instance. A successful drain closes the managed invocation gate and invokes the application drain hook while preserving services, registrations, classloader or module-layer ownership, and cleanup diagnostics for the later stop/unload path.
- Parameters:
instanceId- active instance id- Returns:
- drain result
-
unload
public org.j7m.middleware.application.api.ApplicationDeploymentResult unload(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Unloads a stopped application instance and releases local references.- Parameters:
instanceId- stopped instance id- Returns:
- unload result
-
upgrade
public org.j7m.middleware.application.api.ApplicationDeploymentResult upgrade(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, org.j7m.middleware.application.api.ApplicationCoordinate targetVersion, String strategy, org.j7m.middleware.application.api.ApplicationActivationRequest request) Performs a stop-start upgrade to an exact target coordinate.- Parameters:
instanceId- active instance idtargetVersion- target coordinatestrategy- requested strategy, onlystop-startis supportedrequest- activation request for the target version- Returns:
- deployment result
-
upgrade
public org.j7m.middleware.application.api.ApplicationDeploymentResult upgrade(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, org.j7m.middleware.application.api.ApplicationCoordinate targetVersion, org.j7m.middleware.deployer.api.UpgradeOptions options, org.j7m.middleware.application.api.ApplicationActivationRequest request) Upgrades an active application using a local-runtime strategy.- Parameters:
instanceId- active instance idtargetVersion- target coordinateoptions- upgrade optionsrequest- activation request for the target version- Returns:
- deployment result
-
rollback
public org.j7m.middleware.application.api.ApplicationDeploymentResult rollback(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, org.j7m.middleware.application.api.ApplicationActivationRequest request) Rolls back a running upgraded application to its previous coordinate.- Parameters:
instanceId- current upgraded instance idrequest- activation request for the previous version- Returns:
- deployment result
-
list
public List<org.j7m.middleware.application.api.ApplicationActivation> list(org.j7m.middleware.application.api.ApplicationQuery query) Lists active application snapshots matching the query.- Parameters:
query- application query- Returns:
- matching activation snapshots
-
active
public org.j7m.middleware.application.api.ApplicationActivation active(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Returns the active snapshot for one exact application instance.- Parameters:
instanceId- application instance id- Returns:
- activation snapshot, or
nullwhen the instance is not currently active
-
historicalApplications
Lists historical activation snapshots released from the active manager set.- Returns:
- immutable historical snapshot list
-
applicationStatus
-
serviceInterface
public Class<?> serviceInterface(org.j7m.middleware.application.api.ApplicationInstanceId instanceId, String interfaceName) Loads an exported service interface class for an active application.- Parameters:
instanceId- application instance idinterfaceName- service interface name- Returns:
- interface class from the activation's classloader or module layer
-
upgradeHistory
-
auditEvents
-
probes
public Optional<List<org.j7m.middleware.application.api.ManagedApplicationProbe>> probes(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Returns host-only probes bound to the exact activation generation. Legacy profiles return Optional.empty; a managed activation without declared probes returns a present empty list. Callbacks reject new work after drain, execute outside host monitors and retain actual in-flight lifetime until application code exits, including after caller timeout.- Parameters:
instanceId- exact activation instance- Returns:
- immutable finite callback inventory, never caller-authorized remote methods
- Throws:
org.j7m.middleware.api.MiddlewareException- when the instance is unknown
-
probeStatus
public Optional<ManagedProbeCoordinator.Snapshot> probeStatus(org.j7m.middleware.application.api.ApplicationInstanceId instanceId) Returns a cached bounded operational observation without executing application code. Legacy activations and managed activations without declared probes return empty. A present UNKNOWN observation never proves deployment readiness.- Parameters:
instanceId- exact owned activation generation- Returns:
- fresh cached observation, or empty when no probes are registered
- Throws:
org.j7m.middleware.api.MiddlewareException- if the activation does not exist
-