代码已上传至Github:https://github.com/ylw-github/Activiti-Demo.git
1.新建maven项目 点击next,输入GroupId和ArtifactId,点击next,定义项目名和项目地址,Finish之后项目就建好了。
使用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
关注
打赏