一、JBPM(java business process manager)
1、工作流管理流程
O—>定义工作流(使用流程设计器生成,png和xml文件,分别面向用户和系统)
—>执行工作流(核心对象:流程引擎ProcessEngine)
—>连接数据库(jbpm18张表,jbpm4_deploymen,jbpm4_deployprop,jbpm4_execution,jbpm4_hist_task,jbpm_hist_var,jbpm4_lob,jbpm4_task,jbpm_variable)
2、jbmp中的几个基本概念
流程引擎,ProcessEnginee
*RepositoryService
*ExcutionService
*TaskService
部署对象(deployment):一次部署一个或者多个文件到数据库中(png,xml,zip)
流程定义(processDefinition):获得并解析xml,解析xml文件中的内容,内容即流程定义的规则,工作流jbpm就是按照流程定义的规则往下执行的。与流程定义相关的表,
jbpm部署流程定义的表:select * from jbpm4_deployment;
jbpm流程定义的表:select * from jbpm4_deployprop;
存放资源文件的表:select * from jbpm4_lob;
执行对象(Execution):按照指定的流程定义执行一次的过程,就叫做执行对象;
相关的数据库表:
存放jbpm正在执行的流程实例信息表:select * from jbpm4_execution;
存放jbpm执行信息流失表:select * from jbpm4_hist_procinst;
流程实例(ProcessInstance):从业务的开始到结束之间最大的执行对象就是流程实例,当业务流程中只有一个分支(路线)的时候,此时的执行对象就是流程实例。
流程变量:使用流程变量存储数据,在流程执行或者任务执行的过程中,用于设置和获取变量,使用流程变量在流程传递的过程中传递业务参数。
活动环节:
任务(Task)
当前活动节点是任务的时候,那么此时执行的就是任务
相关的数据库表:
存放正在执行的任务信息表:select * from jbpm4_task;
存放任务信息历史表:select * from jbpm4_hist_task;
状态(state)
当前活动节点是状态的时候,那么此时就是状态节点,是当前流程在状态节点中先停 留一下。
流程连线
1、一个活动中可以指定一个或多个Transition(Start中只能有一个,End中没有)
2、结束活动中没有Transition
3、开始活动中只有一个Transition
4、其他活动中有1条或多条Trasition
5、如果只有一个,则可以不指定名称(名称是null);如果有多个,则要分别指定唯一的名称。
2、jbpm的实现步骤和细节
四个步骤:
1、部署流程定义(xml和png)
2、启动流程实例
3、查看我的个人任务
4、办理任务
流程引擎的创建:
第一种:使用默认的配置文件(jbpm.cfg.xml)生成Configuration并构建ProcessEngine:
ProcessEngine processEngine= newConfiguration().buildProcessEngine();
第二种:使用指定的配置文件(要放到classPath下):
ProcessEngine processEngine= newConfiguration()
.setResource(“my-own-configuration-file.xml”)
.buildProcessEngine();
第三种:使用如下代码获取使用默认配置文件的、单例的ProcessEngine对象:
ProcessEngine processEngine= Configuration.getProcessEngine();
流程定义:
1、部署流程定义
流程定义通过流程设计器设计出两个对应的png图片格式和xml配置文件的格式。
//部署
@Testpublic void testDeploy() throwsException {
String deploymentId= processEngine.getRepositoryService()//.createDeployment()//.addResourceFromClasspath(“helloworld/helloworld.jpdl.xml”)//.addResourceFromClasspath(“helloworld/helloworld.png”)//.deploy();
System.out.println(“deploymentId=” +deploymentId);
}//部署
@Testpublic void testDeploy_zip() throwsException {
InputStream in&#
今天的文章java jbpm工作流_jbpm工作流分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72814.html