コード例 #1
0
  /*
   * (non-Javadoc)
   *
   * @see org.apache.oodt.cas.workflow.engine.WorkflowEngine#resumeWorkflowInstance(java.lang.String)
   */
  public synchronized void resumeWorkflowInstance(String workflowInstId) {
    // okay, try and look up that worker thread in our hash map
    IterativeWorkflowProcessorThread worker =
        (IterativeWorkflowProcessorThread) workerMap.get(workflowInstId);
    if (worker == null) {
      LOG.log(
          Level.WARNING,
          "WorkflowEngine: Attempt to resume workflow instance id: "
              + workflowInstId
              + ", however, this engine is "
              + "not tracking its execution");
      return;
    }

    // also check to make sure that the worker is currently paused
    // only can resume WorkflowInstances that are paused, right?
    if (!worker.isPaused()) {
      LOG.log(
          Level.WARNING,
          "WorkflowEngine: Attempt to resume a workflow that "
              + "isn't paused currently: instance id: "
              + workflowInstId);
      return;
    }

    // okay, all good
    worker.resume();
  }