您当前的位置: 首页 >  ide

11activiti - 入门demo(IDEA)

杨林伟 发布时间:2019-08-06 11:52:57 ,浏览量:3

代码已上传至Github:https://github.com/ylw-github/Activiti-Demo.git

1.新建maven项目

在这里插入图片描述 点击next,输入GroupId和ArtifactId,点击next,定义项目名和项目地址,Finish之后项目就建好了。 在这里插入图片描述

2.添加依赖 3.绘制工作流

使用bpmn插件,在java的resource目录下,点击New,选择BpmnFile,创建bpmn文件 在这里插入图片描述 我们需要一个开始,一个结束,两个UserTask 我们需要修改两个UserTask的Name和Assignee,如图:

员工请假: 在这里插入图片描述 经理审批: 在这里插入图片描述

保存之后打开可能会出现乱码,解决办法参考:https://blog.csdn.net/vimonkey/article/details/72910153

4.代码

在recourse目录下写一个activiti的配置文件activiti.cfg.xml。

新建测试工具类ActivitiTest.java,运行创建工作流方法 在这里插入图片描述 运行成功: 在这里插入图片描述 打开数据库,发现已经自动生成表了 在这里插入图片描述 下面附上完整的代码:

package com.ylw.activiti;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.task.Task;
import org.junit.Test;

import java.util.List;

public class ActivitiTest {
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();


    @Test
    public void testCreateProcessEngineByCfgXml() {
        ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
        ProcessEngine engine = cfg.buildProcessEngine();
    }

    @Test
    public void test() {
        testCreateProcessEngineByCfgXml();
        deployProcess();
        startProcess();
        queryTask();
        //handle();
    }

    @Test
    public void startProcess() {
        RuntimeService runtimeService = processEngine.getRuntimeService();
        runtimeService.startProcessInstanceByKey("myProcess_1");
    }
    @Test
    public void deployProcess() {
        RepositoryService repositoryService = processEngine.getRepositoryService();
        DeploymentBuilder builder = repositoryService.createDeployment();
        builder.addClasspathResource("helloworld.bpmn");
        builder.deploy();
    }

    @Test
    public void queryTask() {
        TaskService taskService = processEngine.getTaskService();
        String assignee = "emp";
        List tasks = taskService.createTaskQuery().taskAssignee(assignee).list();

        int size = tasks.size();
        for (int i = 0; i             
关注
打赏
1688896170
查看更多评论
0.0519s