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 Detail

      • 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.