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

activiti流程定义

 
阅读更多

ProcessDefinition(流程定义) : 用于描述流程规则相关的信息。

package com.liuzm.activiti.day1;

import java.io.File;
import java.io.InputStream;
import java.util.List;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery;
import org.apache.commons.io.FileUtils;
import org.junit.Test;

// ProcessDefinition(流程定义) : 用于描述流程规则相关的信息。
public class ProcessDefinationTest {
	//获取核心对象
	private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	
	// 1.部署流程
	@Test
	public void deployProcess() throws Exception {
		//获取仓库服务对象
		RepositoryService repositoryService = processEngine.getRepositoryService();
		//通过服务创建一个发布配置对象
		DeploymentBuilder builder = repositoryService.createDeployment();
	    //做配置
		builder.name("请假流程")
			   .addClasspathResource("qingjia2.bpmn")
			   .addClasspathResource("qingjia2.png");
		//发布
		builder.deploy();
	}

	
	// 2.查看流程定义信息
	@Test
	public void queryProcessDefination() throws Exception {
		//获取仓库服务对象
		RepositoryService repositoryService = processEngine.getRepositoryService();
		//创建查询对象
		ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery();
		//添加查询条件
		String processDefinitionKey = "myProcess";
	    query
	    	 .processDefinitionKey(processDefinitionKey )
	    	 .orderByProcessDefinitionVersion().desc();
	    //调用list()方法查询
	    List<ProcessDefinition> list = query.list();
	    //遍历查询结果
	    for (ProcessDefinition pd : list) {
			System.out.println("id:"+pd.getId()+",name:"+pd.getName()+",key:"+pd.getKey()+",version:"+pd.getVersion());
		}
	}
	
	// 3.删除部署
	@Test
	public void deleteProcess() throws Exception {
		//获取仓库服务对象
		RepositoryService repositoryService = processEngine.getRepositoryService();
		//删除指定的流程
		String deploymentId = "1";
		repositoryService.deleteDeployment(deploymentId,true);//级联删除,慎用
		//调用上边的查看流程信息方法,看是否删除成功
		this.queryProcessDefination();
	}
	
	// 4.查看规则流程图
	@Test
	public void viewImage() throws Exception {
		//获取仓库服务对象
		RepositoryService repositoryService = processEngine.getRepositoryService();
		//获取图片
		String processDefinitionId = "myProcess:2:304";
		InputStream inputStream = repositoryService.getProcessDiagram(processDefinitionId );
		//将二进制流的图片输出到磁盘
		FileUtils.copyInputStreamToFile(inputStream, new File("F:\\2.png"));
	}
}

 RepositoryService是Activiti的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn文件和流程图片。

 

分享到:
评论

相关推荐

    Activiti流程图部署及流程图部分操作.pdf

    总之,Activiti流程图的部署和操作涉及到流程定义的生命周期管理,包括创建、部署、查询和更新等步骤。正确地部署和操作流程图能够确保业务流程在系统中按照预期执行,从而提升企业的运营效率和自动化水平。熟悉并...

    activiti流程图查看demo

    这个"activiti流程图查看demo"是一个示例项目,旨在帮助用户理解如何在Activiti中查看和操作流程图。在本篇文章中,我们将深入探讨Activiti的核心概念、流程图的查看方法以及如何利用diagram-viewer工具来实现这一...

    Activiti12流程跟踪任务节点和线高亮显示

    Activiti流程跟踪任务节点和线高亮显示 Activiti是Activiti BPMN 2.0流程引擎的Java实现,提供了强大的流程管理和自动化功能。在Activiti中,我们可以通过流程跟踪功能来追踪和监控流程的执行情况。流程跟踪任务...

    最新Activiti视频教程,包含视频、源码、IDE集成Activiti插件、Activiti-5.22.0的pdm数据库表结构文件、教程菜单

    02 - Activiti流程定义 1.流程定义添加(部署) 1.Classpath加载方式; 2.Zip加载方式; 2.流程定义查询 1.查询流程定义; 2.查询某个流程定义的流程设计图片; 3.查询最新版本的流程定义集合; 3.流程定义...

    activiti流程文件细解.doc

    这个文档《Activiti流程文件细解》深入探讨了Activiti流程定义的关键元素,帮助我们理解如何设计和实现复杂的业务流程。 首先,我们要了解的是`&lt;process&gt;`标签,它是流程定义的基本单位。在这个例子中,`请假流程-...

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

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

    activiti6.0实现流程图片自定义颜色 当前任务为红色,走过的任务为绿色,自定义文字颜色连线文字显示

    在IT行业中,Activiti是一个非常流行的开源工作流引擎,它被广泛用于企业级应用中来管理业务...总的来说,自定义流程图颜色是Activiti流程管理中一个实用且有价值的特性,它让复杂的业务流程变得更加生动和易于追踪。

    activiti 5.10请假流程

    首先,`leave.bpmn20.xml` 文件是Activiti流程定义的核心文件,它使用Business Process Model and Notation (BPMN) 2.0标准来描述请假流程。BPMN提供了一种图形化的方式来表示业务流程,包括开始事件、结束事件、...

    Activiti5学习-activiti流程图中文乱码

    总的来说,处理Activiti流程图中文乱码问题需要从多个角度出发,包括文件编码、Activiti配置、字体支持以及图形化工具的设置。通过以上步骤,通常可以有效地解决这个问题,使得中文在流程图中能正常显示。

    activiti工作流流程设计器activiti-eclipse-plugin

    "Activiti Eclipse Plugin"是专为开发人员设计的一款集成在Eclipse IDE中的插件,它提供了图形化的界面,用于设计和调试Activiti流程定义。 首先,让我们深入了解一下Activiti工作流引擎的核心特性: 1. BPMN 2.0 ...

    Activiti流程演示Demo

    - **部署流程**:将流程定义XML文件部署到Activiti流程引擎。 - **启动流程实例**:通过Runtime Service启动流程实例,并可能传入初始变量。 - **处理任务**:通过Task Service进行任务的操作,如查询、领取、...

    Activiti工作流之管理流程定义

    **标题:“Activiti工作流之管理流程定义”** 在企业级应用中,流程管理是至关重要的,Activiti作为一款开源的工作流引擎,被广泛应用在业务流程自动化中。本主题主要探讨如何利用Activiti来管理流程定义,即创建、...

    简单的activiti请假流程

    Activiti会根据部署的流程定义自动创建相应的任务。 5. 执行与流转: 在流程启动后,任务会按照定义的顺序进行流转。在这个请假流程中,可能涉及到多个步骤,如员工提交申请、主管审批、人事部门复核等。每个任务...

    activiti流程管理的几个小例子

    这个压缩包中的“activiti流程管理的几个小例子”旨在帮助用户更深入地理解和应用Activiti。通过这些实例,我们可以探索以下几个关键知识点: 1. **流程定义(Process Definition)**:在Activiti中,流程定义是...

    Activiti流程设计器代码

    Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。 Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于Java的超快速、超...

    activiti工作流高亮图配置.zip

    下面将详细介绍如何配置Activiti流程图的高亮显示。 首先,理解Activiti的核心概念。Activiti是一个基于Java的业务流程管理系统,它支持BPMN 2.0标准,能够处理复杂的业务流程定义。流程图是用图形化的方式表示这些...

    activiti aop测试

    在实际操作中,开发者会在`src`目录下找到Activiti流程定义的`process.bpmn`文件,以及对应的Java服务类,这些类可能使用了AOP来增强其功能。`lib`目录下的JAR文件则用于构建和运行项目,包括Activiti和Spring的相关...

    oa项目中的activiti流程demo

    综上所述,"oa项目中的activiti流程demo"是一个全面展示Activiti在OA项目中应用的实例,涵盖了流程定义、任务管理、业务逻辑集成、UI交互、监控和优化等多个方面,为开发者提供了宝贵的实践参考。通过深入理解并运用...

    activiti5.13设计器eclipse插件

    通过这个插件,开发者可以在 Eclipse 中直接创建、编辑和调试 Activiti 流程定义,无需离开熟悉的开发环境。 安装该插件的过程相对简单,只需要将压缩包中的文件按照指定路径放到 Eclipse 的相应目录下。这通常涉及...

    activiti-explorer-eclipse项目

    这个项目的主要目标是为Eclipse开发环境提供一个直观的、用户友好的界面,用于设计、部署和管理Activiti流程定义。 在深入探讨activiti-explorer-eclipse项目之前,我们先了解一下Activiti的核心特性: 1. BPMN 2.0...

Global site tag (gtag.js) - Google Analytics