最近看jbpm遇到些问题不知道怎么处理.请大家帮我一起看看1. 当fork中有3条并发的流程.如果任意一条流程结束后.就直接出发join后的流程实例(这我知道了怎么处理).问题是我怎么去
   结束另外2条流程事例让其结束呢?2. 如果fork中的3条流程实例中有某个流程实例需要返回其上一步或者直接结束.怎么做? 难道画一根transition到上面那个
   节点?那其他的节点又怎么去处理呢?对于fork中的处理不是很明白.请做过的朋友帮忙给给解决的方法.先在这谢过了

解决方案 »

  1.   

    既然是fork了三个流程,那么也就是说这三个流程都有自己的下一办理节点喽,那lz当然要把想要做的操作都提供在下一节点处来实现了。三个流程即使是同一个角色操作,也要操作三次,每一次操作一个流程。
      

  2.   

    1.join到END得地方
    2.join到你要返回的地方就可以了
      

  3.   

    3楼。你直接把我流程给END掉了。 我汗一个!!
      

  4.   

    1. 当fork中有3条并发的流程.如果任意一条流程结束后.就直接出发join后的流程实例(这我知道了怎么处理).问题是我怎么去 
      结束另外2条流程事例让其结束呢? 如果是3个并发的 了 那么只有3个流程都通过了 才能到达下一个节点 而 你的问题  “如果任意一条流程结束后.就直接出发join后的流程实例” 只是一个到达了 你就结束其他2个 那么 我觉得是 与 fork 的意义相反了  我的意思是
     a 节点发出下一节点(这个节点有3个人b c d 可以审批 ,)  ,如果(b c d)其中一个审批了 那么 其他2个人就不用审批了 就流到下一个节点了  我是这样理解 这样没用到fork
    这个就好结束了  今天刚刚学的不太记清楚了public class TerminateTaskInstanceAction implements ActionHandler { public void execute(ExecutionContext executionContext) throws Exception {

    //查询当前节点中尚未结束的任务实例
    Collection tasks = executionContext.getTaskMgmtInstance()
    .getUnfinishedTasks(executionContext.getToken());

    for (Iterator iterator = tasks.iterator(); iterator.hasNext();) {
    TaskInstance ti = (TaskInstance) iterator.next();
    ti.end();

    } }}
    配置action的文件我没拿回来  记不了 了 这个是我理解的意思  不知道对不对