Class SuspendController

java.lang.Object
org.jboss.as.server.suspend.SuspendController
All Implemented Interfaces:
ServerSuspendController, SuspendableActivityRegistry, SuspensionStateProvider

public class SuspendController extends Object implements ServerSuspendController, SuspendableActivityRegistry
Orchestrates suspending and resuming of registered server activity. Registered server activity is organized into groups sharing the same suspend priority. Server suspension happens in two phases: prepare + suspend.
  1. Set state to State#PRE_SUSPEND
  2. Iterate over activity groups in priority order (from first to last). For each group:
    1. Create prepare stages for each registered server activity
    2. Once all prepare stages within priority group have complete, move on to next priority group
  3. Set state to State#SUSPENDING
  4. Iterate over activity groups in priority order (from first to last). For each group:
    1. Create suspend stages for each registered server activity
    2. Once all suspend stages within priority group have complete, move on to next priority group
  5. Set state to State#SUSPENDED
Resuming the suspended server happens in one phase:
  1. Iterate over activity groups in reverse priority order (from last to first). For each group:
    1. Create resume stages for each registered server activity
    2. Once all resume stages within priority group have complete, move on to next priority group
  2. Set state to State#RUNNING
Author:
Stuart Douglas, Paul Ferraro