zoukankan      html  css  js  c++  java
  • 工作流JBPM_day01:3-使用JBPM的API添加与执行流程

    工作流JBPM_day013-使用JBPMAPI添加与执行流程

    流程定义画完得到压缩文件---》部署流程定义--》启动流程实例--》查询我的个人任务列表--》办理任务--》部门经理(总经理)查询、办理--》完成

     导包、配置文件

     

     

     从其他项目拷log4j.properties文件

    配置信息

     创建数据库

     

     运行测试类会自动创建表

     

     运行部署流程定义测试类。表中会生成一些数据

     存到服务器数据库中

     

     员工办理任务

     办理好,查看部门经理个人任务列表

     部门经理办理任务

     查看总经理个人任务列表

     总经理办理任务

     完成流程

    HelloWorld_API.java

    import java.util.List;
    
    import org.jbpm.api.Configuration;
    import org.jbpm.api.ProcessEngine;
    import org.jbpm.api.task.Task;
    import org.junit.Test;
    
    public class HelloWorld_API {
        //建表
        @Test
        public void createSchema() {    //hbm2ddl.auto-update自动建表
            new org.hibernate.cfg.Configuration()//
            .configure("jbpm.hibernate.cfg.xml")//
            .buildSessionFactory();
        }
        
        private static ProcessEngine processEngine = new Configuration()//
            .setResource("jbpm.cfg.xml")//
            .buildProcessEngine();
        
        // 1, 部署流程定义
        @Test
        public void deployProcessDefintion() {
    
            processEngine.getRepositoryService()
                .createDeployment()
                .addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
                .addResourceFromClasspath("helloworld/helloworld.png")//
                .deploy();
        }
        @Test
        // 2, 启动流程实例
        public void startProvessIndtance() {
            processEngine.getExecutionService().startProcessInstanceByKey("helloworld");
        }
        @Test
        // 3, 查询我的个人任务列表
        public void findMyPersonTaskList() {
    //        String userId = "员工";
    //        String userId = "部门经理";
            String userId = "总经理";
            //查询
            List<Task> taskList = processEngine.getTaskService().findPersonalTasks(userId);
            
            //显示
            System.out.println("===============【" + userId + "】的个人任务列表=============");
            for(Task task : taskList) {
                System.out.println("id=" + task.getId()//
                        + ", name=" + task.getName()//任务名称
                        + ", assignee=" + task.getAssignee());//办理人
            }
        }
        @Test
        // 4, 办理任务
        public void completeTask() {
            String taskId = "30001";
            processEngine.getTaskService().completeTask(taskId);
        }
    }
  • 相关阅读:
    SpringCloud大白话之服务注册中心
    Spring事物白话文
    spring的IOC过程剖析
    2、Spring-RootApplicationContext-refresh
    1、spring与springmvc父子容器
    mysql 5.7 主从设置
    centos7下安装oracle11gR2
    lepus安装报错处理
    centos 6.9安装nginx1.4
    Linux 面试题 合集
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7979401.html
Copyright © 2011-2022 走看看