`
v若离v
  • 浏览: 13430 次
社区版块
存档分类
最新评论

Activiti简单示例入门

 
阅读更多
import java.util.List;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Test;


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

	/**部署流程定义*/
	@Test
	public void deploymentProcessDefinition(){
		Deployment deployment = processEngine.getRepositoryService()//与流程定义和部署对象相关的Service
						.createDeployment()//创建一个部署对象
						.name("helloworld入门程序")//添加部署的名称
						.addClasspathResource("diagrams/HelloWorld.bpmn")//从classpath的资源中加载,一次只能加载一个文件
						.addClasspathResource("diagrams/HelloWorld.png")//从classpath的资源中加载,一次只能加载一个文件
						.deploy();//完成部署
		System.out.println("部署ID:"+deployment.getId());//1
		System.out.println("部署名称:"+deployment.getName());//helloworld入门程序  
	}
	
	/**启动流程实例*/
	@Test
	public void startProcessInstance(){
		//流程定义的key
		String processDefinitionKey = "helloworld";
		ProcessInstance pi = processEngine.getRuntimeService()//与正在执行的流程实例和执行对象相关的Service
						.startProcessInstanceByKey(processDefinitionKey);//使用流程定义的key启动流程实例,key对应helloworld.bpmn文件中id的属性值,使用key值启动,默认是按照最新版本的流程定义启动
		System.out.println("流程实例ID:"+pi.getId());//流程实例ID    101
		System.out.println("流程定义ID:"+pi.getProcessDefinitionId());//流程定义ID   helloworld:1:4
	}
	
	
	/**查询当前人的个人任务*/
	@Test
	public void findMyPersonalTask(){
		String assignee = "李四";
		List<Task> list = processEngine.getTaskService()//与正在执行的任务管理相关的Service
						.createTaskQuery()//创建任务查询对象
						.taskAssignee(assignee)//指定个人任务查询,指定办理人
						.list();
		if(list!=null && list.size()>0){
			for(Task task:list){
				System.out.println("任务ID:"+task.getId());
				System.out.println("任务名称:"+task.getName());
				System.out.println("任务的创建时间:"+task.getCreateTime());
				System.out.println("任务的办理人:"+task.getAssignee());
				System.out.println("流程实例ID:"+task.getProcessInstanceId());
				System.out.println("执行对象ID:"+task.getExecutionId());
				System.out.println("流程定义ID:"+task.getProcessDefinitionId());
				System.out.println("########################################################");
			}
		}
	}
	
	/**完成我的任务*/
	@Test
	public void completeMyPersonalTask(){
		//任务ID
		String taskId = "104";
		processEngine.getTaskService()//与正在执行的任务管理相关的Service
					.complete(taskId);
		System.out.println("完成任务:任务ID:"+taskId);
	}
} 

 

分享到:
评论

相关推荐

    activiti简单入门了解

    这是一个activiti的简单入门web示例,下载后启动项目,直接访问首页,点击“开始执行activiti流程任务”,如果页面正常运行,会有“activiti流程任务执行完毕,请查看后台输出!”的提示。本示例的主要作用是对...

    Activiti入门示例源码

    这个"Activiti入门示例源码"提供了一个学习Activiti的基础平台,帮助初学者快速理解Activiti的核心概念和操作方式。 首先,我们要了解什么是Activiti。Activiti 是基于Java的BPMN 2.0规范实现,它允许开发者创建...

    activiti 零基础入门教程 中文手册 demo示例

    这个零基础入门教程结合中文手册和示例程序,是初学者掌握Activiti的绝佳资源。以下是对这些知识点的详细解释: 1. **Activiti**:Activiti 是由Alfresco Software公司开发的流程定义语言BPMN 2.0的实现。它提供了...

    activiti 工作流 入门 可运行 示例 简单 上手 项目 BPM java

    本项目旨在让Activiti初学者可以快速入门,使用工作流里面的请假流程作为Activiti企业实战的Hello World。 简单通过这个实例说明如何结合流程与业务,表单、业务、流程之前如何衔接…… 发起这个项目也是目前没有...

    Activiti5 快速入门 13 Demo

    【标题】"Activiti5 快速入门 13 Demo" 涉及的主要知识点是Activiti工作流引擎的入门应用以及如何通过示例(Demo)进行实践操作。Activiti是一个开源的业务流程管理(BPM)和工作流系统,它提供了一套强大的工具来...

    springboot+activiti集成Demo

    总的来说,"springboot+activiti集成Demo"是一个宝贵的资源,它涵盖了从基础的SpringBoot项目构建到复杂流程管理的全部环节,适合初学者入门和有经验的开发者参考。通过深入研究和实践,你将能够熟练地在SpringBoot...

    工作流activiti简单demo

    这个"工作流activiti简单demo"是为初学者或开发者提供的一种快速入门示例,旨在帮助理解Activiti的核心概念和操作。 1. Activiti简介: Activiti 是由 Alfresco 公司开发的一个基于 Java 的 BPMN 2.0 规范的工作流...

    Activiti入门篇之二 Spring 与Activiti的入门整合

    "Activiti入门篇之二 Spring 与Activiti的入门整合" 这个标题表明我们将会探讨如何在Spring框架中集成Activiti,一个流行的工作流引擎。这通常涉及设置Activiti的依赖,配置Spring上下文,以及如何在Spring环境中...

    activiti,入门详解

    在本文中,我们将深入理解如何入门Activiti,包括配置安装、创建Java项目以及配置工作流。 1. **Activiti5.10的配置与安装** - 插件安装:在Eclipse中,通过`Help -&gt; Install New Software -&gt; Add`,然后输入插件...

    activiti入门教程-基于Activiti5工作流实战企业协同OA办公系统.pdf

    教程可能会涉及一些实际的代码示例、配置文件、流程图和步骤说明等,让读者能够通过实例加深对Activiti工作流引擎的理解和应用。 此外,链接指向了一个商品页面,说明这份教程可能是作为商品销售的。然而,由于链接...

    Activiti快速入门.rar

    在“Activiti快速入门.rar”这个压缩包中,我们可以找到一个关于Activiti在SpringBoot环境下应用的详细实例,特别是针对请假流程(LeaveBill)的实现。这个资源不仅提供了代码示例,还包含相关文档,对于初学者来说...

    activiti5.8入门

    Activiti拥有活跃的开发者社区,提供了大量的插件和示例,帮助开发者解决实际问题。此外,官方文档和在线资源丰富,为学习和使用提供了便利。 总的来说,"activiti5.8入门"资料将引导你了解如何利用Activiti5.8...

    Activiti6.0教程例子下载

    一个是我们将编辑好的bpmn20.xml文件通过我们之前一分钟入门的示例activiti-explorer应用导入进去,查看它的流程图,并完整执行一遍流程。 在编写这个Demo之前,至少要了解Activiti与Spring如何集成、XxxService各自...

    工作流例子-activiti5

    在“activiti_web”文件夹中,可能包含了 Activiti 集成到 Web 应用的示例代码。这可能包括前端页面用于展示任务列表、启动流程实例、完成任务等功能,以及后端服务用于与 Activiti 引擎交互。通过这些示例,你可以...

    Activiti入门—环境搭建和核心API简介

    这通常涉及到导入必要的jar包,这些包可以从Activiti提供的wars目录下的示例项目中获取,如`activiti-rest`项目的`WEB-INF\lib`目录。如果你使用MySQL数据库,还需要自行导入`mysql-connector-java.jar`。 3. 创建...

    activiti入门实例,activiti请假实例

    这个入门实例将引导你快速掌握 Activiti 的基本使用,特别是通过一个具体的“请假”实例来加深理解。 在Activiti中,业务流程通常由一系列的任务(Tasks)组成,这些任务可以通过流程定义(Process Definition)来...

    Activiti 学习代码,入门初学者适合

    本资源“Activiti 学习代码,入门初学者适合”提供了与Activiti集成的Springboot应用程序,帮助初学者快速上手。 在描述中提到的功能包括: 1. **流程发布**:在Activiti中,流程定义是通过BPMN(Business Process...

    activitiDemo.rar

    在本示例中,"activitiDemo.rar" 提供了一个入门级别的演示,帮助用户了解如何使用 Activiti 进行基本操作。以下是这个压缩包可能包含的关键知识点: 1. **Activiti简介**: Activiti 是基于 Java 的 BPMN 2.0 ...

    【java】Activiti入门 —环境搭建和核心API简介

    【Java】Activiti入门 —环境搭建和核心API简介 Activiti是一个开源的工作流和业务流程管理(BPM)框架,主要用于构建可扩展且灵活的业务应用。本篇文章将介绍如何搭建Activiti开发环境,并简要概述其核心API的使用。...

    activiti-5.13.zip

    同时,由于Activiti的高度可扩展性,它也适用于各种规模的企业,从简单的审批流程到复杂的业务流程自动化。在实践中,开发者可以根据业务需求,结合Activiti提供的工具和API,定制适合自己的工作流解决方案。

Global site tag (gtag.js) - Google Analytics