示例的意思_实例

示例的意思_实例JBoss 系列三十八:jBPM5示例之 Reusable Sub-Process

大家好,又见面了,我是你们的朋友全栈君。

jBPM5中的Reusable Sub-Process是在主流程里面执行另为一个流程(子流程),当流程执行到Reusable Sub-Process节点时jBPM5流程执行引擎根据提供的流程(子流程)ID,Reusable Sub-Process示例流程如下(主流程和子流程):

示例的意思_实例

主流程

示例的意思_实例

子流程

Reusable Sub-Process示例流程运行时传入三条字符串message 1,message 2和message 3,在流程运行时主流程的Format tag节点中生成一个tag,在子流程Apply Tag中将生成的tsg添加到每一条消息的末尾,流程运行结束输出三条消息确认设定tag情况。主流程的Format tag节点为Service Task节点,运行时执行的Java代码如下:

System.out.println("Parent-process id = "+kcontext.getProcessInstance().getId()); java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("mm-dd-yyyy"); kcontext.setVariable("tag", sdf.format(new java.util.Date(System.currentTimeMillis())));

子流程Apply Tag节点为Service Task节点,运行时执行的Java代码如下:

System.out.println("Child-process id = "+kcontext.getProcessInstance().getId()); java.util.List<String> taggedMessages = new java.util.ArrayList<String>(); for (Object message : internalMessages){ taggedMessages.add(((String)message)+" - "+internalTag); } kcontext.setVariable("internalMessages",taggedMessages);

运行org.jbpm.quickstarts.subprocess.ReusableSubProcessStart将会运行Reusable Sub-Process示例流程,ReusableSubProcessStart代码如下:

package org.jbpm.quickstarts.subprocess; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.drools.runtime.StatefulKnowledgeSession; import org.drools.runtime.process.ProcessInstance; import org.drools.runtime.process.WorkflowProcessInstance; import org.jbpm.quickstarts.QuickStartBase; public class ReusableSubProcessStart extends QuickStartBase { public static void main(String[] args) { new ReusableSubProcessStart().test(); } public void test() { StatefulKnowledgeSession ksession = createKnowledgeSession("quickstarts/reusableSubProcess-Parent.bpmn", "quickstarts/reusableSubProcess-Child.bpmn"); List<String> messages = new ArrayList<String>(); messages.add("message 1"); messages.add("message 2"); messages.add("message 3"); Map<String,Object> parameters = new HashMap<String, Object>(); parameters.put("messages", messages); //Start the process using its id ProcessInstance process = ksession.startProcess("org.jbpm.quickstarts.reusablesubprocessparent",parameters); messages = (List<String>) ((WorkflowProcessInstance)process).getVariable("messages"); for (String message : messages) { System.out.println("Message = "+message); } ksession.dispose(); } }

Reusable Sub-Process示例流程运行输出结果如下:

Parent-process id = 1 Child-process id = 2 Message = message 1 - 01-31-2013 Message = message 2 - 01-31-2013 Message = message 3 - 01-31-2013

如上01-31-2013为设定的tag。

转载于:https://my.oschina.net/iwuyang/blog/197189

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106778.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7 安装 nginx[通俗易懂]

    centos7 安装 nginx[通俗易懂]一、安装所需插件1、安装gccgcc是linux下的编译器,它可以编译C,C++,Ada,ObjectC和Java等语言。yum-yinstallgcc2、安装pcre、pcre-develpcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式。yuminstall-ypcrepcre-devel3、zlib安装zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gz

    2022年5月12日
    42
  • java文本框获得输入焦点_文本框获得焦点和失去焦点的判断代码

    java文本框获得输入焦点_文本框获得焦点和失去焦点的判断代码文本框失去焦点事件、获得焦点事件onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件Onselect:当文字加亮后,产生该文件onpropertychange当属性改变发生该事件无论粘贴keyuponchange等,最为敏感先来看javascript的直接写在了input上jquery实现方法对于元素的焦点事件,我们…

    2022年6月26日
    38
  • url—pattern_pattern

    url—pattern_pattern首先说下,其实url-pattern就是说的url模式,就是容器在查找时根据这个模式来找到具体的servlet来执行。先来看一段规范中的IntheWebapplicationdeploymentdescriptor,thefollowingsyntaxisusedtodefinemappings:Astringbeginningwith

    2025年7月28日
    0
  • 原创小说:城与兽 第一篇章在线阅读_有兽星七十二城的小说

    原创小说:城与兽 第一篇章在线阅读_有兽星七十二城的小说一名身材健壮的男子走在黄昏的海滩上。伴随着夕阳,和阵阵吹拂的海风,男子边双手抱头走边想:“这下完了呀,这是个什么地方呀,我要怎么回家呀,爸妈要怎么办呀。”他无聊的边走边踢着海滩上的石子,时不时往着被夕阳映射得泛红的天空,时不时又看看一望无际的大海,这海平面让它觉得很绝望。踢着踢着,踢到了一颗他踢不动的。“好痛呀。”男子坐在地上揉起了自己的脚。“真是衰到透顶了。衰起来连石子都…

    2022年8月29日
    0
  • python查微信好友是否删除自己_微信 用脚本查看是否被微信好友删除 不用群发用Python脚本查微信被哪些好友删除…「建议收藏」

    python查微信好友是否删除自己_微信 用脚本查看是否被微信好友删除 不用群发用Python脚本查微信被哪些好友删除…「建议收藏」python3为什么不加锁也数据同步不安全,在多线程下并非一定同步。网上有的是例子可以证明,自己搜个试试看就知道了。用脚本快速查看自己被多少微信好友删除找自己删除的微信好友方法:尽管,生命中无数次的回头,也终究错过很多的故事,遗憾过,后悔过,遗憾了红尘中走过却没有带走些什么东西,后悔了一路走来却还是放下了一些东西。是的!一切就好像梦一场,但是梦醒后又想,好像曾经来过!第二种简单方法:如果该好友没…

    2022年6月3日
    38
  • ideal 2022 激活码【2022免费激活】2022.03.01「建议收藏」

    (ideal 2022 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
    309

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号