JBPM (三) 服务和实例介绍

来源:互联网 发布:apache安装无法访问 编辑:程序博客网 时间:2024/06/05 06:15
  • jbpm提供的服务
jbpm提供了很多的服务来处理流程,这些服务也是这个jbpm引擎的核心对象,通过服务接口可以完成流程的部署、创建、以及增、删、改、查等操作,框架这东西似乎都是向别人提供服务、接口来供别人使用,当自己想要写一个框架了也要按着标准框架的规范来开发,遵循一个通用的标准做出来的东西才会有人愿意使用。

来看看下面这张图,清晰的展示出了jbpm核心服务对象的关系以及每个对象的作用。


  • 服务的使用--流程例子
每个流程实例的创建基本都遵循这三个步骤
  1.部署流程定义
2.创建流程实例
3.提交任务

在部署流程实例中首先要做的事定义流程,一般定义信息都写在了jbpm.hibernate.cfg.xml文件里了,该文件的信息对应Configuration对象,即通过Configuration对象可以获得该文件的所有配置信息,包括数据库连接、用户名、事务管理、日志等,下图为一个简单流程定义:

                  
部署流程代码
public void testDeploy(){//得到服务引擎,管理服务的创建ProcessEngine processEngine=Configuration.getProcessEngine();//创建repositoryService服务,可以实现部署、删除流程等RepositoryService repositoryService=processEngine.getRepositoryService();//部署流程repositoryService.createDeployment().addResourceFromClasspath("test.jpdl.xml").deploy();}


创建流程实例
//创建流程实例public void testCreateInstance(){ProcessEngine processEngine=Configuration.getProcessEngine();ExecutionService executionService=processEngine.getExecutionService();//通过已经存在的实例的key值,获得实例ProcessInstance processInstance=executionService.startProcessInstanceByKey("test");System.out.println("流程实例ID===="+processInstance.getId());}


查询当前实例的人员对应的任务
public void testGetTask(){ProcessEngine processEngine=Configuration.getProcessEngine();TaskService taskService=processEngine.getTaskService();List<Task> tasks=taskService.findPersonalTasks("李四");Task task=tasks.get(0);System.out.println("任务数量:"+tasks.size());System.out.println("任务名称:"+task.getActivityName());System.out.println("任务人员:"+task.getAssignee()+"任务ID"+task.getId());}


提交任务
public void testCompeleteTask(){ProcessEngine processEngine=Configuration.getProcessEngine();TaskService taskService=processEngine.getTaskService();taskService.completeTask("8");}


  • 结束语
jbpm在流程方面有独到之处,用着也很方便,在工作流上也是一个很好的解决方案,里面的操作记录处理也值得相似的功能借鉴。


2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 牛仔裤用84泡了怎么办 蓝色的衣服晒红怎么办 厨房用的剪刀开合很紧怎么办 理发的剪刀钝了怎么办 小孩眼睛肿了怎么办才能消肿 柿子和螃蟹后要怎么办 柿子和螃蟹吃了怎么办 吃了没熟的虾怎么办 邻居小孩怕我家小狗怎么办 心里有一道坎过不去了怎么办 刚买的小狗怕人怎么办 一年级孩子字写不好怎么办 小狗三天没吃了怎么办 捡到一只流浪猫怎么办 仓鼠四肢红肿圈状怎么办 泰迪的鼻子干燥怎么办 小狗眼睛有白色浓稠物怎么办 流浪狗生了小狗怎么办 学生字写得很差怎么办 猫身上粘老鼠胶怎么办 抄东西抄的手疼怎么办 皮质物品被油性笔划了怎么办 在小区猫丢了怎么办 母猫把小猫丢了怎么办 小狗不吃东西没精神怎么办 小狗的鼻子烂了怎么办 狗老是在家拉尿怎么办 狗狗鼻子有点干怎么办 狗的鼻头不黑了怎么办 金毛鼻头不黑怎么办 金毛毛掉了不长怎么办 狗狗鼻子烂了怎么办 小比熊鼻子不黑怎么办 狗狗鼻子起皮怎么办 金鱼身子弯了是怎么办 属狗的纹龙怎么办 卫生间的墙空的怎么办 花生苗长得好怎么办 菊花上面的白虫怎么办 小狗不吃东西还吐怎么办 小狗呕吐不吃东西没精神怎么办