activiti程序-----HelloWord

1.流程图

2.建表并创建流程引擎对象(核心对象)--->ProcessEngine

1 @Test
2 public void testProcessEngine(){
3     // 获取流程引擎 
4     ProcessEngine processEngine =        ProcessEngines.getDefaultProcessEngine();
5     System.out.println(processEngine);
6 } 
7         
流程引擎

3.部署流程定义

 1 public class Sha {
 2     ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();
 3     //流程部署定义(从classpath)
 4     @Test
 5     public void li(){
 6         Deployment deploy =processEngine.getRepositoryService()//与流程定义和部署对象相关的servise;
 7                      .createDeployment()//创建一个部署对象
 8                      .name("张三")
 9                          .addClasspathResource("diagrams/Myboy.bpmn")//从classpath的资源中加载,一次只能加载一次
10                      .addClasspathResource("diagrams/Myboy.png")//从classpath的资源中加载,一次只能加载一次
11                      .deploy();
12         System.out.println("部署ID:"+deploy.getId());
13         System.out.println("部署名称:"+deploy.getName());
14     }        
流程定义

4.启动流程实例

 1 @Test
 2 public void ki(){
 3     //流程定义的key
 4     String processDefinitionKey ="myBoy";
 5         ProcessInstance pi = processEngine.getRuntimeService()//与正在执行的流程实例和执行对象相关的Service
 6                                           .startProcessInstanceByKey(processDefinitionKey );
 7         //使用流程定义的key启动流程实例,key对应的Myboy.bpmn文件中id的属性值
 8         System.out.println("流程实例ID:"+pi.getId());//流程实例ID
 9         System.out.println("流程定义ID:"+pi.getProcessDefinitionId());//流程定义ID
10 }
启动流程

5.查看当前人的个人任务

 1 @Test
 2 public void ji(){
 3         String assignee ="李四";
 4         List<Task> list =  processEngine.getTaskService()//与正在执行的任务管理相关的service
 5                      .createTaskQuery()//创建任务查询对象
 6                      .taskAssignee(assignee)//指定个人任务查询,指定办理人
 7         //有时候肯定不止一个请假,所以它返回的是个列表
 8                       .list();
 9     if(list!=null&& list.size()>0){
10         for(Task task: list){
11             System.out.println("任务ID:"+task.getId());
12             System.out.println("任务名称:"+task.getName());
13             System.out.println("创建时间:"+task.getCreateTime());
14             System.out.println("办理人:"+task.getAssignee());
15             System.out.println("流程实例ID:"+task.getProcessInstanceId());
16             System.out.println("执行对象ID:"+task.getExecutionId());
17             System.out.println("流程定义ID:"+task.getProcessDefinitionId());
18         System.out.println("######################");
19         }
20     }
21 }
任务列表

6.办理任务

1 public void hi(){
2     //任务ID
3     String taskId = "402";
4     processEngine.getTaskService()//与正在执行的任务管理相关的service
5                  .complete(taskId);                 System.out.println("完成任务:任务ID:"+taskId);
6 }      
完成任务
原文地址:https://www.cnblogs.com/-yuqin/p/6943819.html