jbpm知识点——fork、join

原创 2006年10月16日 09:20:00

分支节点会产生子令牌,到达聚合节点的所有子令牌完成,聚合节点才继续进行。

<start-state name="start">
      <transition name="" to="fork1"></transition>
   </start-state>
   <fork name="fork1">
      <transition name="tr1" to="state1"></transition>
      <transition name="tr2" to="state2"></transition>
   </fork>
   <state name="state1">
      <transition name="" to="join1"></transition>
   </state>
   <state name="state2">
      <transition name="" to="join1"></transition>
   </state>
   <join name="join1">
      <transition name="" to="end1"></transition>
   </join>
   <end-state name="end1"></end-state>

--------------------------------------------------------------

private static void run(){
  JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  try {
   long processInstanceId =1;
   processInstance = jbpmContext.loadProcessInstance(processInstanceId);
   Token token = processInstance.getRootToken();
   System.out.println(token.getNode());
   token.signal();
   System.out.println(token.getNode());
   Iterator iterator=token.getChildren().keySet().iterator();
   while(iterator.hasNext()) {
    Token childtoken=(Token)token.getChildren().get(iterator.next());
    System.out.println("token:"+token.getNode());
    System.out.println("childtoken:"+childtoken.getNode());
    childtoken.signal();
   }
   System.out.println(token.getNode());
   jbpmContext.save(processInstance);
   }finally {
     jbpmContext.close();
   }
 } 

----------------------------------------------------------

StartState(start)
Fork(fork1)
token:Fork(fork1)
childtoken:State(state1)
token:Fork(fork1)
childtoken:State(state2)
EndState(end1)

察看数据表jbpm_token可以看到,多了2条记录,toke名字分别为tr1和tr2。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JBPM4.4 实现并发(fork -join)和事件监听(event-Listenner) 实现会签功能

想验证一下 JBPM 中的并发和事件监听,于是想了一个实现员工申请购买物品的会签功能。需要员工所在部门manager,HR_manager,Planning_manager,Purchasing_ma...

09-jbpm工作流之"分支聚合Join-Fork"

工作流的分支与聚合:       这是多个分支并行(同时)执行,并且所有的分支Execution都到Join活动聚合后才向后执行; 1.工作流图:test.png 工作流配置文件:test.jpd...

jBPM-4.4:fork和join的一个例子

现在,有这样一个需求: 1、真正开始执行实际业务之前,因为要和多方进行交互(远程通信),需要对对外部各方进行一系列的鉴权; 2、对外部各方之间进行鉴权,存在一定的先后顺序; 3、如果某一个鉴权步...

Java-----多线程小知识点:join()方法和守护线程

join()方法:当前线程需等待指定的线程结束后才能继续运行。该方法需要抛异常。 Example: 场景,老板约四个人打麻将。其中,老板是主线程,四个玩家是分线程。并且,要等待四个人全部到齐后才能...

SQL Server DBA面试知识点(六)-- 表join

两表join是一类比较低效的数据操作,因此SQL Server会应用不同的join策略,目的是提高join性能。如果是多表join,则必定先两两join,一步步得到最终结果。 SQL Server使...

java——知识点归纳总结

  • 2011-06-08 16:12
  • 62KB
  • 下载

线程基础:多任务处理(15)——Fork/Join框架(要点2)

Fork/Join Pool采用优良的设计、代码实现和硬件原子操作机制等多种思路保证其执行性能。其中包括(但不限于):计算资源共享、高性能队列、避免伪共享、工作窃取机制等。本文(以及后续文章)试图和读...

ACM知识点——图论讲解

  • 2011-07-26 11:28
  • 18.18MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)