工作流总结(二)JBPM 入门示例
来源:互联网 发布:python readlines 编辑:程序博客网 时间:2024/05/19 23:27
上一遍文章主要总结了一下关于JBPM的基本的概念,主要是JBPM环境的搭建和一些主要的配置。这次主要是结合一个例子来总结下工作流的中常用的API。
示例
场景:请假。
通过JBPM的流程设计器,拖拽就可以直接生成一个xml文件。保存后,即能生成一个对应好的png图片文件。JBPM 4.4 有时候在生成流程图片时不时出现些问题,这个时候直接把流程图片删了即可。
常用操作
部署流程实例
public void testDeploy(){
ProcessEngine processengine=Configuration.getProcessEngine();
RepositoryService repositoryService=processengine.getRepositoryService();
repositoryService.createDeployment().addResourceFromClasspath("test1.jpdl.xml").deploy();
}
ProccessEngine:jbpm的核心引擎,是一个线程安全的对象。能够通过ProcessEngine创建jbpm的各种服务接口,类似一个工厂。
RepositoryService:部署的接口,通过部署创建deployment对象来负责流程的部署。
部署可以通过很多的方式来部署:包括直接加载流程定义文件xml格式的文件。或者还有
- addResourceFromUrl(URL url);
- addResourcesFromZipInputStream(ZipInputStream zipInputStream);
- addResourceFromFile(File file);
推进流程实例
public void testCompleteTask(){ ProcessEngine processEngine=Configuration.getProcessEngine(); TaskService taskService=processEngine.getTaskService(); taskService.completeTask("20001"); }
TaskService:包括task的一系列的crud操作。以及根据需要将当前节点推进到下一个状态,并可以通过
void completeTask(String taskId, Map<String, ?> variables);
来传入业务数据变量以此来绑定业务信息。
获取当前流程实例信息
public void testGetCurrentActivity() { executionService=super.executionService; String activityName=executionService.createProcessInstanceQuery().processInstanceId("offJbpm.20001").uniqueResult().findActiveActivityNames().toString(); System.out.println("当前流程ID:"+activityName); }
ExecutionService:通过该对象来获取执行流程,或者获取当前流程id的流程实例信息。
- 工作流总结(二)JBPM 入门示例
- 一个JBPM工作流管理示例(二)
- 一个JBPM工作流管理示例(二)
- JBPM工作流入门总结
- JBPM(二)---JBPM工作流基本操作
- 一个JBPM工作流管理示例(一)
- 一个JBPM工作流管理示例(三)
- 一个JBPM工作流管理示例(四)
- 一个JBPM工作流管理示例(一)
- 一个JBPM工作流管理示例(三)
- JBPM工作流入门(上)
- 工作流-jbpm入门例子
- 工作流总结(一)JBPM 4.4 简介
- 一个JBPM工作流管理示例
- 一个JBPM工作流管理示例
- 一个JBPM工作流管理示例
- jbpm(3)---jbpm入门示例
- jbpm 工作流引擎 入门指导
- linux命令之nohup
- 电影推荐实例(python源代码)
- sql
- easyui中的基本验证大全
- 一个简单的hibernate环境搭建
- 工作流总结(二)JBPM 入门示例
- 【Mysql】常用指令之——数据库引擎
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
- UGUI基本概念 (待续)
- QCustomPlot之Interaction简单解析
- 两道华为机考题
- Apache SVN配置
- 延迟加载
- 重新注册system32目录下的所有DLL文件