Activiti_安装 以及demo_第1页
Activiti_安装 以及demo_第2页
Activiti_安装 以及demo_第3页
Activiti_安装 以及demo_第4页
Activiti_安装 以及demo_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Activiti 学习一 搭建一个Activiti开发环境1. 在eclipse中点击“Add”在Name选项中填写一个名称Location: /designer/update/点击“ok“再点击“下一步”选择红色 点击“Finish”安装activiti完成。 创建Activiti 会签二 创建一个Activiti project 1. 点击“下一步”填写一个项目名称点击完成2. 选择刚建的项目选择“下一步”点击“Finish”打开diagrams下的MyProcess1.activiti 在里面画流程图切记要填写的值 Main config是节点的用

2、#键 表示一个任务人如果是线节点 表判断的时候 带参数要$键 表示要传入的指 如果任务节点中没写“任务人” 则会报错,致使不会生成XML描述文件。 assigneeList $result != 2 Java 代码:package com.listener;import java.util.ArrayList;import java.util.List;import org.activiti.engine.delegate.DelegateTask;import org.activiti.engine.delegate.TaskListener;public class Mylistener

3、implements TaskListener private static int a=0;public void notify(DelegateTask delegateTask) / 获取事件名称String eventName = delegateTask.getEventName();/ 获取任务idString taskId = delegateTask.getId();/ 获取节点键String taskKey = delegateTask.getTaskDefinitionKey(); /userTask3/ 获取流程定义编号String procDefId = delegat

4、eTask.getProcessDefinitionId();/ 获取流程实例编号String procInstId = delegateTask.getProcessInstanceId();/ 获取节点名称List list = (ArrayList)delegateTask.getVariable(assigneeList);if (create.equals(eventName) /初始化会签人员信息/初始化业务规则 else if (complete.equals(eventName) /执行业务规则if(delegateTask.getAssignee().toString().t

5、rim().equals(zhangsan)delegateTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(lisi)delegateTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(libo)delega

6、teTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(xiao)delegateTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(haha)delegateTask.setVariable(result, 1

7、);elsedelegateTask.setVariable(result, 2);if(delegateTask.getAssignee().toString().trim().equals(yunsi)delegateTask.setVariable(result, 1);elsedelegateTask.setVariable(result, 2);Java 测试:package com.listener;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.M

8、ap;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.activiti.engine.RepositoryService;import org.activiti.engine.RuntimeService;import org.activiti.engine.TaskService;import org.activiti.engine.repository.Deployment;import org.activiti.engine.

9、repository.ProcessDefinition;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;public class Test org.junit.Testpublic void bbTest() / 创建一个流程数据源的配置ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(diagrams/activ

10、iti.cfg.xml).buildProcessEngine();/ 获取数据源连接的服务RepositoryService repositoryService = processEngine.getRepositoryService();/ 读取配置流程配置文件对象Deployment deployment = repositoryService.createDeployment().addClasspathResource(diagrams/MyProcess.bpmn20.xml).deploy();/ 发布到数据库中ProcessDefinition pdf = repository

11、Service.createProcessDefinitionQuery().deploymentId(deployment.getId().singleResult();/ 开启一个服务RuntimeService runtimeService = processEngine.getRuntimeService(); /* * 定义流程中的参数 */ 建立一个集合存放流程中的参数Map model = new HashMap();/ 开启流程的人model.put(user, 胖子);/ 行政审核人model.put(manager, 肖正伟);/ 审核结果model.put(backtra

12、ck, yes);/ 会签 (将所有参与会签的人放入list集合中)List list = new ArrayList();list.add(zhangsan);list.add(lisi);list.add(libo);list.add(xiao);list.add(haha);list.add(yunsi);/ 把list结合放入集合中model.put(assigneeList, list);/ 开启一个流程ProcessInstance pi = runtimeService.startProcessInstanceById(pdf.getId(), model);/ 节点服务Task

13、Service service = processEngine.getTaskService();/ 获取节点/* * 拟稿 */List tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(胖子).list();for (Task task : tasks) plete(task.getId();System.out.println(task.getName();/ 行政审核节点tasks = service.createTaskQuery(

14、).processInstanceId(pi.getProcessInstanceId().taskAssignee(肖正伟).list();for (Task task : tasks) plete(task.getId();System.out.println(行政部经理审核);/* * * * */tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(zhangsan).list();for (Task task2 : tasks) ser

15、plete(task2.getId();System.out.println(task2.getAssignee();/* * * */tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(lisi).list();for (Task task : tasks) plete(task.getId();System.out.println(task.getAssignee();tasks = service.createTaskQu

16、ery().processInstanceId(pi.getProcessInstanceId().taskAssignee(libo).list();for (Task task : tasks) plete(task.getId();System.out.println(task.getAssignee();tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(xiao).list();for (Task task : tasks) plete(task.getId();System.out.println(task.getAssignee();tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee(haha).list();for (Task task : tasks) ser

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论