- private static void run(){
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- long processInstanceId =1;
- processInstance = jbpmContext.loadProcessInstance(processInstanceId);
- Token root = processInstance.getRootToken();
- root.signal();
- Token to_s1 = root.getChild("to_s1");
- Token to_j1_1 = root.getChild("to_j1_1");
- System.out.println("root:"+root.getNode());
- System.out.println("to_s1:"+to_s1.getNode());
- System.out.println("to_j1_1:"+to_j1_1.getNode());
- to_s1.signal();
- Token to_s2 = to_s1.getChild("to_s2");
- Token to_j1_2 = to_s1.getChild("to_j1_2");
- System.out.println("root:"+root.getNode());
- System.out.println("to_s2:"+to_s2.getNode());
- System.out.println("to_j1_2:"+to_j1_2.getNode());
- to_s2.signal();
- System.out.println("root:"+root.getNode());
-
- }finally {
- jbpmContext.close();
- }
-
- }
为什么所有的子令牌都结束了,根令牌仍然在fork呢?原因就是fork和join没有配对使用。所以看似正确的流程也一定要经过严格的测试,绝不能想当然。重新编写流程定义文件:
xml 代码
- <!---->xml version="1.0" encoding="UTF-8"?>
- <process-definition xmlns="" name="yytest">
- <start-state name="start">
- <transition name="" to="f1">transition>
- start-state>
- <fork name="f1">
- <transition name="to_s1" to="s1">transition>
- <transition name="to_j1_1" to="j1">transition>
- fork>
- <state name="s1">
- <transition name="" to="f2">transition>
- state>
- <fork name="f2">
- <transition name="to_j2_1" to="j2">transition>
- <transition name="to_s2" to="s2">transition>
- fork>
- <state name="s2">
- <transition name="to_j2_2" to="j2">transition>
- state>
- <join name="j2">
- <transition name="to_j1_2" to="j1">transition>
- join>
- <join name="j1">
- <transition name="" to="s3">transition>
- join>
- <state name="s3">
- <transition name="" to="end">transition>
- state>
- <end-state name="end">end-state>
-
-
- process-definition>
java 代码
- private static void run(){
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- long processInstanceId =1;
- processInstance = jbpmContext.loadProcessInstance(processInstanceId);
- Token root = processInstance.getRootToken();
- root.signal();
- Token to_s1 = root.getChild("to_s1");
- Token to_j1_1 = root.getChild("to_j1_1");
- System.out.println("root:"+root.getNode());
- System.out.println("to_s1:"+to_s1.getNode());
- System.out.println("to_j1_1:"+to_j1_1.getNode());
- to_s1.signal();
- Token to_s2 = to_s1.getChild("to_s2");
- Token to_j2_1 = to_s1.getChild("to_j2_1");
- System.out.println("root:"+root.getNode());
- System.out.println("to_s2:"+to_s2.getNode());
- System.out.println("to_j2_1:"+to_j2_1.getNode());
- to_s2.signal();
- System.out.println("root:"+root.getNode());
-
- }finally {
- jbpmContext.close();
- }
-
- }
相关推荐
Fork/Join例子
fork join 框架 生产使用实例,可以直接修改配置,实现业务。
Fork/Join框架Package jsr166y是Java 7并行编程类的的初步版本(Preliminary versions of classes targeted for Java 7.)
1.ServerSocketChannel与SocketChannel通讯 2.java Fork/Join 与ThreadPool使用
fork/join框架与其它ExecutorService的实现类相似,会给线程池中的线程分发任务,不同之处在于它使用了工作窃取算法,所谓工作窃取,指的是对那些处理完自身任务的线程,会从其它线程窃取任务执行。 fork/join...
随着多核时代的来临,软件开发人员不得不开始关注并行编程领域。...本文将介绍使用 JDK 7 中 Fork/Join 模式的方法和其他相关改进。阅读本文之后,读者将能够独立地在软件开发中使用 Fork/Join 模式来改进程序的性能。
java Fork Join框架及使用,java自带的多线程框架,来处理多线程的问题
Fork/Join框架是Java7中新增的一项特性,也是Java7平台的其中一项主要改进。下面我们就来简单探讨下Java的Fork/Join框架
fork/join框架是ExecutorService接口的一个实现,可以帮助开发人员充分利用多核处理器的优势,编写出并行执行的程序,提高应用程序的性能;设计的目的是为了处理那些可以被递归拆分的任务。
全网第一篇通过图文介绍Fork/Join框架与CompleteableFuture的PPT
主要介绍了浅谈Java Fork/Join并行框架,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Fork/Join框架的测试demo,含源代码。 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个...
主要为大家详细介绍了Java通过Fork、Join来优化并行计算,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java Fork-Join 论文 排序
Java并发网文归并总结。Fork and join,比较详细
译文:Fork and Join: Java Can Excel at Painless Parallel Programming Too!(Fork and Join Java也可以轻松地编写并发程序)
Java提供Fork/Join框架用于并行执行任务,核心的思想就是将一个大任务切分成多个小任务,然后汇总每个小任务的执行结果得到这个大任务的最终结果。 这种机制策略在分布式数据库中非常常见,数据分布在不同的数据库的...
赠送jar包:eclipse-collections-forkjoin-7.1.2.jar; 赠送原API文档:eclipse-collections-forkjoin-7.1.2-javadoc.jar; 赠送源代码:eclipse-collections-forkjoin-7.1.2-sources.jar; 赠送Maven依赖信息文件:...
介绍了ForkJoin并发框架,供有java基础者学习,工作配合使用,附件带有PPT,介绍并发与并行区别,和ForkJoin代码范例,资源来自网络,分享分享!