Interface DeploymentSetPlan

All Known Implementing Classes:
DeploymentSetPlanImpl

public interface DeploymentSetPlan
Encapsulates a related set of actions a DomainDeploymentManager should take to change the content deployed in the servers associated with one or more server groups.
Author:
Brian Stansberry
  • 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 deployment set 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
    Gets whether all deploy, undeploy, replace or remove operations associated with the deployment set plan should be rolled back in case of a failure in any of them.
    boolean
    Gets whether the deployment set plan is organized around a shutdown of the server.
  • Method Details

    • getId

      UUID getId()
      Gets the unique id of the deployment set 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
    • isRollback

      boolean isRollback()
      Gets whether all deploy, undeploy, replace or remove operations associated with the deployment set plan should be rolled back in case of a failure in any of them.
      Returns:
      true if all operations should be rolled back if any of them fail
    • 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.