Interface DeploymentPlan

All Known Implementing Classes:
DeploymentPlanImpl

public interface DeploymentPlan
Encapsulates an overall set of actions a DomainDeploymentManager should take to update the set of deployment content available for deployment in the domain and/or change the content deployed in the domain's servers.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the list of deploy, replace and undeploy actions that are part of the deployment plan.
    long
    Gets the maximum period, in ms, the deployment set plan is configured to wait for potentially long-running in-process work ito complete before shutdown proceeds.
    Gets the unique id of the plan.
    Gets the configuration of how the deployment actions are to be applied to the server groups in the domain.
    boolean
    Gets whether the deployment set plan is organized around a graceful shutdown of the server, where potentially long-running in-process work is given time to complete before shutdown proceeds.
    boolean
     
    boolean
    Gets whether the deployment set plan is organized around a shutdown of the server.
    boolean
    Indicates that on a given server all deploy, undeploy or replace operations associated with the deployment set should be rolled back in case of a failure in any of them.
  • Method Details

    • getId

      UUID getId()
      Gets the unique id of the plan.
      Returns:
      the id. Will not be null
    • getDeploymentActions

      List<DeploymentAction> getDeploymentActions()
      Gets the list of deploy, replace and undeploy actions that are part of the deployment plan.
      Returns:
      the actions. Will not be null
    • isSingleServerRollback

      boolean isSingleServerRollback()
      Indicates that on a given server all deploy, undeploy or replace operations associated with the deployment set should be rolled back in case of a failure in any of them.

      Note: This directive does not span across servers, i.e. a rollback on one server will not trigger rollback on others. Use ServerGroupDeploymentPlanBuilder.withRollback() to trigger rollback across servers.

      Returns:
      a builder that can continue building the overall deployment plan
    • isRollbackAcrossGroups

      boolean isRollbackAcrossGroups()
    • isShutdown

      boolean isShutdown()
      Gets whether the deployment set plan is organized around a shutdown of the server.
      Returns:
      true if the plan will be organized around a shutdown, false otherwise
    • isGracefulShutdown

      boolean isGracefulShutdown()
      Gets whether the deployment set plan is organized around a graceful shutdown of the server, where potentially long-running in-process work is given time to complete before shutdown proceeds.
      Returns:
      true if the plan will be organized around a graceful shutdown, false otherwise
    • getGracefulShutdownTimeout

      long getGracefulShutdownTimeout()
      Gets the maximum period, in ms, the deployment set plan is configured to wait for potentially long-running in-process work ito complete before shutdown proceeds.
      Returns:
      the period in ms, or -1 if isGracefulShutdown() would return false
    • getServerGroupDeploymentPlans

      List<Set<ServerGroupDeploymentPlan>> getServerGroupDeploymentPlans()
      Gets the configuration of how the deployment actions are to be applied to the server groups in the domain. Each ServerGroupDeploymentPlan in the returned data structure specifies how the actions are to be applied to the servers within a particular server group. The data structure itself is a list of sets of ServerGroupDeploymentPlans. Each set indicates a collection of server groups to which actions can be applied concurrently. Each element in the overall list delineates actions should be applied in series.

      So, for example, assume we the overall deployment set plan is intended to apply deployments to 3 server groups: A, B and C. Assume elements within curly braces represent and set and elements within brackets represent an item in a list:

      • [{A,B}],[{C}] would describe a plan to concurrently execute the deployment actions on server groups A and B and then when A and B are complete, continue on to server group C.
      • [{A}],[{B}],[{C}] would describe a plan to execute the deployment actions on server group A, and then when A is complete, continue on to server group B and then to C.
      • [{A,B,C}] would describe a plan to concurrently execute the deployment actions on server groups A and B and C.

      Returns:
      data structure representing how the deployment actions are to be applied to the server groups in the domain.