コード例 #1
0
  /**
   * Saves and stops all active tasks
   *
   * @return OpenmrsMemento
   */
  public OpenmrsMemento saveToMemento() {

    Set<Integer> tasks = new HashSet<Integer>();

    for (TaskDefinition task : getScheduledTasks()) {
      tasks.add(task.getId());
      try {
        shutdownTask(task);
      } catch (SchedulerException e) {
        // just swallow exceptions
        log.debug("Failed to stop task while saving memento " + task.getName(), e);
      }
    }

    TimerSchedulerMemento memento = new TimerSchedulerMemento(tasks);
    memento.saveErrorTasks();

    return memento;
  }