/** {@inheritDoc} */
  public void startMaintenance() {
    log.info("Putting transport listeners, senders and tasks into maintenance mode..");

    // pause transport listeners and senders
    Axis2TransportHelper transportHelper = new Axis2TransportHelper(configurationContext);
    transportHelper.pauseListeners();
    transportHelper.pauseSenders();

    // put tasks on hold
    SynapseTaskManager synapseTaskManager = synapseEnvironment.getTaskManager();
    if (synapseTaskManager.isInitialized()) {
      synapseTaskManager.pauseAll();
    }

    log.info("Entered maintenance mode");
  }