zoukankan      html  css  js  c++  java
  • 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 }      
    完成任务
  • 相关阅读:
    转MySQL详解--索引
    [转]关于MYSQL Innodb 锁行还是锁表
    根据STATUS信息对MySQL进行优化
    源码编译安装 MySQL 5.5.x 实践
    thrift服务端到客户端开发简单示例
    thrift安装
    thrift 调取 python php go 客户端代码
    Linux系统启动级别及顺序
    Linux手动释放内存
    /etc/passwd&/etc/shadow文件分析
  • 原文地址:https://www.cnblogs.com/-yuqin/p/6943819.html
Copyright © 2011-2022 走看看