JBPM 要点总结


JPBM是JBOSS旗下的一个开源的基于hibernate的工作流引擎。
工作流就是在日常生活中,我们一些常见的如请假流程、采购流程、入职流程,通俗的来讲就是一些在现实生活中的流程以信息化以程序的方式实现。
一个工作流首先需要进行流程定义,流程定义是由节点和跳转组成的,节点又可以称为环节、活动节点、活动环节,并且节点也可以分为两大类型:人工节点和自动节点,人工节点有start开始节点、end结束节点、task任务节点,自动节点有decision判断节点、fork分支节点、join聚合节点和state状态节点,并且一个流程有且只有一个开始节点,但可以有多个结束节点。
流程定义是静止的,它在运行状态时会转换成流程实例,一个流程定义可以对应多个流程实例。流程运行后,会产生两个文件,*.jdpl.xml文件和*.png图片文件,也会生成18张数据库表,常用且核心的表有JBPM4_LOB 存储表,主要存储xml文件和png图片、JBPM4_TASK 任务表、JBPM4_EXECUTION 流程实例表、JBPM4_VARIABLE变量表。


1. 获取流程引擎ProcessEngine processEngine = Configuration.getProcessEngine();
2. 获取流程库Service: RepositoryServicve repositoryService = processEngine.getRepositoryService();
3. 发布流程:repositoryService.createDeployment().addResourceFromClassPath("xxxx").deploy();
4. 查询流程定义:repositoryService.createProcessDefinitionQuery().list();
5. 删除流程定义:repositoryService.deleteDeploymentCascade(deploymentId);
6. 获取执行Service:processEngine.getExecutionService();
7. 启动一个新流程:ProcessInstance processInstance = processEngine.startProcessInstanceByKey("processKey");
8. 执行流程:processInstance = processEngine.signalExecutionById(instanceId);
9. 查询流程是否执行完毕:processInstance.isEnded();
10. 强行终止流程:executionService.endProcessInstance(processInstanceId, cause);
11. 删除流程:executionService.deleteProcessInstance(processInstanceId);
12. 查询流程:executionService.createProcessInstanceQuery().list();

JBPM 有五大核心类:
ProcessEngine :主要获取各种的 Service
RepositoryService :主要发布流程定义
ExecutionService :主要操作流程实例                                                                    
TaskService :主要操作人工服务
HistoryService :主要操作历史服务。

核心方法:
读取 jbpm 定义的文件生成 zip 包存到 lob 表中: createDeployment()
获取流程定义列表: createProcessDefinitionQuery
根据定义的 key id 来启动流程实例: startProcessInstanceByKey(id)
获取待办任务列表: findPersonalTasks(userName)
完成指定任务列表: completeTask(*.getActivityId())
获取历史任务列表: createHistoryTaskQuery()
获取流程实例的 ID task.getExecutionId()
( 了解的表 )
JBPM4_HIST_ACTINST  流程活动 ( 节点 实例表
JBPM4_HIST_DETAIL  流程历史详细表
JBPM4_HIST_PROCINST  流程实例历史表
JBPM4_HIST_TASK  流程任务实例历史表
JBPM4_HIST_VAR  流程变量 上下文 历史表


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值