Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-2966

cancel and error end activity throws exception in subprocess

XMLWordPrintable

      I created a simple process which includes a state and a subprocess with different end activities
      The subprocess is similar to the example in user guide > http://docs.jboss.com/jbpm/v4/userguide/html_single/#endstate.

      When I send the signal "end" to the state in the subprocess, the process wait in state "end state". That's correct!
      But if I send the signal "cancel" or "end", a JbpmException "execution[...] has running subprocess: execution[...] in state cancel/error" throws.
      This exception throws in method checkActive() of the class ExecutionImpl.

       if (!isActive())
      protected void checkActive()
          {
              if (!isActive())
              {
                  throw new JbpmException(toString() + " is not active: " + state);
              }
              else if (this.subProcessInstance != null
                      && !Execution.STATE_ENDED.equals(this.subProcessInstance.getState()))
              {
                  throw new JbpmException(toString() + " has running subprocess: "
                          + this.subProcessInstance.toString() + " in state " + this.subProcessInstance.getState());
              }
         }
      

      The problem is that the methode only check if the subprocess has the state "end".
      I think the method have to check if the subprocess state is one of

      {end, cancel, error}

      . Right?

        1. process.PNG
          16 kB
          Philipp Ossler
        2. subprocess.PNG
          10 kB
          Philipp Ossler

              Unassigned Unassigned
              saig0 Philipp Ossler (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated: