`
Algernoon
  • 浏览: 23647 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Activiti学习笔记HelloWorld

 
阅读更多

第一个Activiti的HelloWorld

1.部署流程

2.启动流程

3.查看任务

4.办理任务

package com.liuzm.activiti.day1;

import java.util.List;

import org.activiti.engine.ProcessEngine;
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.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.task.TaskQuery;
import org.junit.Test;

/**
 * Activiti框架API的使用步骤: 1. 获取核心ProcessEngine对象 2. 根据需求,获取对应的服务实例 3. 使用服务方法,做事情
 * 
 * @author Administrator
 * 
 */
public class HelloWorld {
	// 加载核心API ProcessEngine
	private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

	// 1.部署流程
	@Test
	public void deployProcess() throws Exception {
		// 获取对应的服务
		RepositoryService repositoryService = processEngine.getRepositoryService();
		// 调用对应服务的方法,执行相关操作
		DeploymentBuilder builder = repositoryService.createDeployment();
		builder
		.addClasspathResource("helloworld.bpmn" )
		.addClasspathResource("helloworld.png");
		builder.deploy();
	}

	// 2.启动流程
	@Test
	public void startProcess() throws Exception {
		// 获取对应服务的service实例对象
		RuntimeService runtimeService = processEngine.getRuntimeService();
		// 调用服务方法,执行相关操作
		String processDefinitionId = "myProcess:1:4";
		ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId);
		System.out.println(processInstance);
	}
	// 3.查看任务
	@Test
	public void queryTask() throws Exception {
		// 2. 根据查询需求,获取对应的服务对象。
		TaskService taskService = processEngine.getTaskService();
		// 3. 调用服务对象的,createXXXQuery方法,创建对应查询对象
		TaskQuery taskQuery = taskService.createTaskQuery();
		// 4. 添加查询条件
		String assignee = "小强";
		taskQuery.taskAssignee(assignee);
		// 5. 执行查询
		List<Task> list = taskQuery.list();
		System.out.println("============【"+assignee+"】的私有任务列表==========================");
		for (Task task : list) {
			System.out.println(task);
		}
	}
	
	// 4.办理任务
	@Test
	public void completeTask() throws Exception {
		// 获取对应的服务对象
		TaskService taskService = processEngine.getTaskService();
		// 调用服务方法,执行相关操作
		String taskId = "104";
		taskService.complete(taskId);
		this.queryTask();
	}

}

 

 

分享到:
评论

相关推荐

    Activiti工作流HelloWorld入门

    Activiti工作流HelloWorld入门教程 Activiti是一款开源的工作流引擎,它基于Java技术,用于在企业级应用中实现业务流程自动化。这个“Activiti工作流HelloWorld入门”旨在帮助初学者快速理解并掌握Activiti的基本...

    Activiti学习笔记

    Activiti学习笔记,介绍Activiti的组成结构,工作流BPMN2.0规范等

    Activiti工作流helloworld搭建

    Activiti环境搭建及其他插件工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它通过执行经过计算的流程定义去支持一批专门设定的业务流程。...

    Activiti笔记-day1

    Activiti笔记-day1

    activiti入门程序helloworld及所需整合jar包

    通过以上步骤,你就成功地在 Eclipse 中搭建了一个基本的 Activiti 环境,并创建并运行了第一个 HelloWorld 流程。随着对 Activiti 更深入的学习,你可以探索更复杂的工作流场景,如分支、循环、事件、服务任务等,...

    Activiti5学习笔记

    ### Activiti5学习笔记核心知识点解析 #### 一、Activiti5概述与环境搭建 **Activiti5**是一款开源的工作流引擎,基于Java语言开发,主要用于实现业务流程管理(BPM)和工作流自动化。其核心特性包括流程建模、...

    Activiti学习笔记三:管理流程定义

    在“Activiti学习笔记三:管理流程定义”中,我们将深入探讨如何使用Activiti来管理和操作流程定义。 首先,流程定义是Activiti中的核心概念,它是流程模型的静态表示,描述了工作流的结构和规则。流程定义通常以...

    Activiti 学习笔记11 接收活动(receiveTask,即等待活动)

    Activiti 学习笔记11:接收活动(receiveTask,即等待活动)

    Activiti 学习笔记六:流程执行历史记录

    本学习笔记将聚焦于流程执行的历史记录,这是理解流程运行情况、追踪问题以及优化流程的关键。 一、Activiti 的历史记录功能 历史记录是 Activiti 中的一个重要特性,它允许开发者和管理员查看已经执行过的流程实例...

    Activiti 学习笔记14:工作流定义的角色组

    在本篇Activiti学习笔记中,我们将深入探讨工作流定义中的关键概念——角色组,以及它们在Activiti流程引擎中的应用。Activiti是一款强大的、开源的企业级工作流和业务自动化引擎,广泛应用于业务流程管理(BPM)...

    Activiti 学习笔记13:分配组任务

    在本篇Activiti学习笔记中,我们将探讨如何在工作流引擎Activiti中分配组任务,这对于构建企业级流程管理系统至关重要。Activiti是一个轻量级、开源的业务流程管理(BPM)和工作流系统,它提供了强大的流程定义、...

    Activiti——HelloWorld(模拟流程执行)

    这个"HelloWorld"示例是为了演示如何在Activiti中模拟一个简单的流程执行。在这个流程中,我们看到一个典型的审批流程,涉及到三个角色:张三、李四和王五。 首先,我们要理解流程的启动。在Activiti中,启动流程...

    Activiti 学习笔记九:并行网关(parallelGateWay)

    在本篇学习笔记中,我们将深入探讨并行网关的工作原理、使用场景以及如何在 Activiti 中进行配置。 一、并行网关的概念 并行网关,也称为并发网关,允许流程实例同时沿着多个路径进行,这些路径可以是独立的,然后...

    Activiti Workflow HelloWorld示例与测试环境搭建

    【Activiti Workflow HelloWorld 示例与测试环境搭建】 Activiti是一个开源的工作流引擎,它遵循BPMN 2.0标准,由Alfresco公司发起,旨在提供一个基于Apache License的流程管理解决方案。在Alfresco 4.0之后,...

    Activiti 学习笔记12:分配个人任务

    本篇学习笔记将深入探讨如何在Activiti中进行个人任务的分配。 一、理解个人任务 在Activiti中,个人任务(User Task)代表了流程中的一个节点,这个节点只能由特定的用户或用户组来处理。这种任务的分配方式确保了...

    Activiti 学习笔记七:连线(SequenceFlow)

    本篇学习笔记将深入探讨SequenceFlow的概念、作用以及如何在流程设计中使用。 一、SequenceFlow简介 SequenceFlow 是 Activiti 流程模型中的概念,它表示了流程实例从一个活动(Activity)到另一个活动的流转。每个...

    Activiti 学习笔记五:流程变量

    理解并熟练操作流程变量是深入学习 Activiti 的关键部分。 在 Activiti 中,流程变量可以在以下场景中发挥作用: 1. **定义变量**:在 BPMN2.0 流程图中,可以通过 `user task`、`service task` 或其他元素的属性...

    Activiti 学习笔记十:开始活动节点(判断流程是否结束及查询历史)

    本学习笔记主要聚焦在开始活动节点以及如何判断流程是否结束,同时涵盖了查询历史流程实例的相关内容。 一、开始活动节点(Start Event) 在 Activiti 流程图中,开始活动节点(Start Event)标志着流程的起始点。...

    Activiti 学习笔记八:排他网关(ExclusiveGateWay)

    在企业工作流管理系统中,Activiti 是一个广泛使用的开源流程引擎,它允许开发者设计、运行和管理业务流程。本篇文章将深入探讨Activiti中的一个重要概念——排他网关(Exclusive Gateway),也称为独占网关。排他...

    Activiti Workflow HelloWorld示例与测试环境搭建.

    Activiti Workflow HelloWorld示例与测试环境搭建的知识点主要包括以下几个方面: 1. Activiti工作流引擎简介: Activiti是一个开源的工作流和业务流程管理(BPM)平台,遵循Apache许可证,基于BPMN2.0标准。...

Global site tag (gtag.js) - Google Analytics