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的简单入门web示例,下载后启动项目,直接访问首页,点击“开始执行activiti流程任务”,如果页面正常运行,会有“activiti流程任务执行完毕,请查看后台输出!”的提示。本示例的主要作用是对...
这个"Activiti入门示例源码"提供了一个学习Activiti的基础平台,帮助初学者快速理解Activiti的核心概念和操作方式。 首先,我们要了解什么是Activiti。Activiti 是基于Java的BPMN 2.0规范实现,它允许开发者创建...
这个零基础入门教程结合中文手册和示例程序,是初学者掌握Activiti的绝佳资源。以下是对这些知识点的详细解释: 1. **Activiti**:Activiti 是由Alfresco Software公司开发的流程定义语言BPMN 2.0的实现。它提供了...
本项目旨在让Activiti初学者可以快速入门,使用工作流里面的请假流程作为Activiti企业实战的Hello World。 简单通过这个实例说明如何结合流程与业务,表单、业务、流程之前如何衔接…… 发起这个项目也是目前没有...
【标题】"Activiti5 快速入门 13 Demo" 涉及的主要知识点是Activiti工作流引擎的入门应用以及如何通过示例(Demo)进行实践操作。Activiti是一个开源的业务流程管理(BPM)和工作流系统,它提供了一套强大的工具来...
总的来说,"springboot+activiti集成Demo"是一个宝贵的资源,它涵盖了从基础的SpringBoot项目构建到复杂流程管理的全部环节,适合初学者入门和有经验的开发者参考。通过深入研究和实践,你将能够熟练地在SpringBoot...
这个"工作流activiti简单demo"是为初学者或开发者提供的一种快速入门示例,旨在帮助理解Activiti的核心概念和操作。 1. Activiti简介: Activiti 是由 Alfresco 公司开发的一个基于 Java 的 BPMN 2.0 规范的工作流...
"Activiti入门篇之二 Spring 与Activiti的入门整合" 这个标题表明我们将会探讨如何在Spring框架中集成Activiti,一个流行的工作流引擎。这通常涉及设置Activiti的依赖,配置Spring上下文,以及如何在Spring环境中...
在本文中,我们将深入理解如何入门Activiti,包括配置安装、创建Java项目以及配置工作流。 1. **Activiti5.10的配置与安装** - 插件安装:在Eclipse中,通过`Help -> Install New Software -> Add`,然后输入插件...
教程可能会涉及一些实际的代码示例、配置文件、流程图和步骤说明等,让读者能够通过实例加深对Activiti工作流引擎的理解和应用。 此外,链接指向了一个商品页面,说明这份教程可能是作为商品销售的。然而,由于链接...
在“Activiti快速入门.rar”这个压缩包中,我们可以找到一个关于Activiti在SpringBoot环境下应用的详细实例,特别是针对请假流程(LeaveBill)的实现。这个资源不仅提供了代码示例,还包含相关文档,对于初学者来说...
Activiti拥有活跃的开发者社区,提供了大量的插件和示例,帮助开发者解决实际问题。此外,官方文档和在线资源丰富,为学习和使用提供了便利。 总的来说,"activiti5.8入门"资料将引导你了解如何利用Activiti5.8...
一个是我们将编辑好的bpmn20.xml文件通过我们之前一分钟入门的示例activiti-explorer应用导入进去,查看它的流程图,并完整执行一遍流程。 在编写这个Demo之前,至少要了解Activiti与Spring如何集成、XxxService各自...
在“activiti_web”文件夹中,可能包含了 Activiti 集成到 Web 应用的示例代码。这可能包括前端页面用于展示任务列表、启动流程实例、完成任务等功能,以及后端服务用于与 Activiti 引擎交互。通过这些示例,你可以...
这通常涉及到导入必要的jar包,这些包可以从Activiti提供的wars目录下的示例项目中获取,如`activiti-rest`项目的`WEB-INF\lib`目录。如果你使用MySQL数据库,还需要自行导入`mysql-connector-java.jar`。 3. 创建...
这个入门实例将引导你快速掌握 Activiti 的基本使用,特别是通过一个具体的“请假”实例来加深理解。 在Activiti中,业务流程通常由一系列的任务(Tasks)组成,这些任务可以通过流程定义(Process Definition)来...
本资源“Activiti 学习代码,入门初学者适合”提供了与Activiti集成的Springboot应用程序,帮助初学者快速上手。 在描述中提到的功能包括: 1. **流程发布**:在Activiti中,流程定义是通过BPMN(Business Process...
在本示例中,"activitiDemo.rar" 提供了一个入门级别的演示,帮助用户了解如何使用 Activiti 进行基本操作。以下是这个压缩包可能包含的关键知识点: 1. **Activiti简介**: Activiti 是基于 Java 的 BPMN 2.0 ...
【Java】Activiti入门 —环境搭建和核心API简介 Activiti是一个开源的工作流和业务流程管理(BPM)框架,主要用于构建可扩展且灵活的业务应用。本篇文章将介绍如何搭建Activiti开发环境,并简要概述其核心API的使用。...
同时,由于Activiti的高度可扩展性,它也适用于各种规模的企业,从简单的审批流程到复杂的业务流程自动化。在实践中,开发者可以根据业务需求,结合Activiti提供的工具和API,定制适合自己的工作流解决方案。