首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
六、activiti工作流-流程定义查询
】的更多相关文章
六、activiti工作流-流程定义查询
本节主要讲流程定义查询.查询某个流程设计图片并保存到本地中.查询最新版本的流程定义集合.删除所有key相同的定义 先创建一个java类 package com.java.procdef; import java.io.File;import java.io.IOException;import java.io.InputStream;import java.util.LinkedHashMap;import java.util.LinkedList;import java.util.List;i…
深入了解Activiti工作流流程定义
深入了解Activiti工作流流程定义 2016-03-27| 发布: | 浏览: 2363 |保存PDF 部署流程定义 部署流程定义的流程: 1. 先获取流程引擎对象:在创建时会自动加载 classpath 下的 activiti.cfg.xml 2. 首先获得默认的流程引擎,通过流程引擎获取了一个 RepositoryService 对象(仓库对象) 3. 由仓库的服务对象产生一个部署对象配置对象,用来封装部署操作的相关配置. 4. 这是一个链式编程,在部署配置对象中设置显示名,上传流程定义…
(四)Activiti之流程定义部署之ZIP方式和流程定义查询
一.流程定义部署之ZIP方式 上一章节我们使用classpath的方式加载流程定义文件,这里我们使用ZIP的方式. 1.1 用activiti插件生成bpmn和png图片之后,压缩到一个zip格式的压缩包中. 1.2 代码中加载 package com.shyroke.activiti.firstActiviti; import static org.junit.Assert.*; import java.io.InputStream; import java.util.zip.ZipInput…
Activiti 删除流程定义
package com.mycom.processDefinition; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInputStream; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.repository.De…
activiti部署流程定义时出错:INSERT INTO ACT_GE_BYTEARRAY,修改数据库编码
activiti部署流程定义时出错 // 部署流程定义 Deployment deployment = deploymentBuilder.deploy(); 错误信息:(有乱码的...没留下截图...) SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/developing/eclipse/workspace/ProjectManagement/projectMan…
Activiti工作流的定义部署和执行
工作流引擎 个人觉得直接理解工作流引擎概念有点难度,我们可以先通过了解工作流引擎的职责再反过来理解工作流引擎,工作流引擎一般都做两件事情: 1.定义流程,也就是给我们提供某种规范来定义规则,以及如何定义一个流程的这种规范,同事我们可以根据工作流引擎提供的相关概念来定义更为复杂的流程,这就是工作流引擎做的第一件事叫做定义流程. 2.执行流程,也就是工作流引擎需要解释这个规则,还要负责流程,它相当于流程的调度者,监控每个流程的执行情况,并将流程操作发往下一步,或者根据条件休眠或终止流程的这么…
activiti--5 -----------------Activiti 工作流 流程各个步骤所涉及到的表
ACT_RE_*: 'RE'表示repository. 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等). ACT_RU_*: 'RU'表示runtime. 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据. Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录. 这样运行时表可以一直很小速度很快. ACT_ID_*: 'ID'表示identity. 这些表包含身份信息,比如用户,组等等. ACT_HI_*: 'HI'表示histor…
Activiti 部署流程定义及相关的表(classpath部署、zip部署)
package com.mycom.processDefinition; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.repository.Deployment; import org.junit.Test; public class ProcessDefinitionTest { ProcessEngine proc…
多数据库下activiti的流程定义缓存问题
我们使用activiti(5.14版本号)作为流程引擎,今天在产品中发现一个问题,某流程的审批记录中, 活动实例表中记录的活动名称(ACT_HI_ACTINST表的ACT_NAME)居然是该流程中不存在的活动名称, 确认了该流程没有被改动升级过. 后来发现了是activiti缓存的问题,我们的产品是支持多公司使用的,各个公司分别使用不同的数据库, 因此不同公司下activiti生成的流程定义ID有可能反复(ACT_RE_PROCDEF的ID_字段),比如A公司和B公司都存在名为Proc:1:10…
三、activiti工作流-流程设计工具
首先在diagrams下面新建一个文件夹 然后在这个文件夹下new一个Activiti Diagram new好后出现bpmn文件, 可以通过右键以xml方式打开bpmn文件查看源码 双击打开文件然后进行流程设计,点击右侧开始节点,结束节点,用户节点,然后用线连起来 找到右侧sequenceFlow将上面流程用线连起来 ctrl+s保存,会自动生成一张配,png文件 可以下properties里设置整个流程的id(机数据库表中的key),name 选中第二个节点,可以自由设置委派人,就是由谁处理…
Activiti工作流——流程表数据转化
任务流程部署: 启动流程实例: 请假人完成请假申请: 部门经理完成审批: 总经理审批完成:…
Activiti 查询最新版本的流程定义
package com.mycom.processDefinition; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.zip.ZipInputSt…
Activiti 查询流程定义
package com.mycom.processDefinition; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInputStream; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.repository.De…
工作流学习——Activiti流程定义管理三步曲 (zhuan)
http://blog.csdn.net/zwk626542417/article/details/46602419 **************************************************************** 一.前言 在上一篇文章我们通过一个小demo对Activiti进行了宏观的介绍,让大家对Activiti有了整体的认识,这篇文章我们来学习具体的流程定义管理的CRUD. 二.正文 流程定义是什么 ProcessDefinition(流程定义)就是一个流…
Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
可以在项目中加入log4j,将logj4.properties文件拷入到src目录下,这样框架执行的sql就可以输出到到控制台,log4j提供的日志级别有以下几种: Fatal error warn info debug trace 一.部署流程定义 1,在工程项目下创建源码文件夹process 2,在该文件下下面新创建一个工作流流程定义文件test1.bpmn(NewàActivit Diagram) 3,在test1.bpmn文件定义请假流程或者是报销流程 4,测试代码 publi…
activiti基础--2----------------------(流程定义)
Deployment 部署对象 1.一次部署的多个文件信息,对于不需要的流程可以删除和修改 2.对应的表 act_re_deployment #部署对象表 act_re_procdef #流程定义表 act_ge_bytearray #资源文件表 act_ge_property # 主键生成策略表 ProcessDefinition 流程定义 1.解析.bpmn后得到的流程定义规则的信息,工作流系统就是按照流程定义的规则执行的 2.相关的表: #部署对象和流程定义相关的表select * fro…
Activiti 删除key值相同的所有不同版本的流程定义
package com.mycom.processDefinition; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.zip.ZipInputSt…
(五)Activiti之查看最新版本的流程定义
一.查看最新版本的流程定义 因为每个流程定义都可能会有好几个版本,所以有时候我们有这样的需求,查询出最新版本的流程定义的集合 第一步:我们通过Activiti接口来获取根据流程定义Version升序排序的流程定义的集合: 第二步:定义一个有序的Map, Map的key就是我们流程定义的Key,Map的值就是流程定义对象: 第三步:我们遍历第一步的集合,put(key,value) 假如Key相同,后者会覆盖前者: 第四步:我们获取Map的values.即我们需要的最新版本的流程定义的集合: p…
Activiti流程定义部署、删除
1.部署流程定义 部署流程定义也可以认为是增加流程定义. 首先创建流程引擎对象(公用的方法) private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); 方法1: /** * 1.发布流程 * 会在三张表中产生数据: * act_ge_bytearray 产生两条数据 * act_re_deployment 产生一条数据 * act_re_procdef 产生一条数据 */ public…
activiti工作流框架简介
常见的工作流框架:activiti, JBPM, OSWorkflow activiti框架基于23张基础的表数据, 基于Mybatis操作数据库. JBPM框架基于18张基础的表数据, 基于hibernate操作数据库. 一. activiti基础数据表的创建 1.通过sql创建 导入activiti-5.13\database\create目录下的sql建表语句, 如果数据库是mysql, 则需要导入activiti.mysql.create.engine.sql, activiti.mys…
Activiti工作流引擎使用详解(一)
一.IDEA安装activiti插件 在插件库中查找actiBPM,安装该插件,如果找不到该插件,请到插件库中下载该包手动安装,插件地址 http://plugins.jetbrains.com/plugin/7429-actibpm 安装后重启IDEA 二.activiti基础环境搭建 2.1 actiBPM插件使用示例 将需要用到的activiti包引入到工程中 <dependency> <groupId>org.activiti</groupId> <art…
3.流程定义的CRUD
表 _re_是仓库的简写 /itcast0711/src/main/java/cn/itcast/b_processDefinition/ProcessDefinitionTest.java package cn.itcast.b_processDefinition; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import jav…
activiti工作流(传智播客)
1:工作流的概念 说明: 1) 假设:这两张图就是华谊兄弟的请假流程图 2) 图的组成部分: A. 人物:范冰冰 冯小刚 王中军 B. 事件(动作):请假.批准.不批准 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”. 工作流管理系统(Workflow Management System, WfMS)…
Activiti工作流学习笔记一
Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”. 工作流管理系统(Workflow Management System, WfM…
一、activiti工作流(workflow)入门介绍
activiti官方网站(官网通常很卡,不建议看,直接看我教程就行) http://www.activiti.org/ eclipse离线安装activiti插件并下载教程 https://download.csdn.net/download/qq_42626061/11133009 主要学习知识点有: Activiti 的 25 张表创建 引入 Activiti 配置文件 activiti.cfg.xml 在 Eclipse 上安装 Activiti 插件 初识 Activiti 流程设计工具…
Activiti7流程定义
一.什么是流程定义 流程定义是线下bpmn2.0标椎去描述业务流程,通常使用activiti-explorer(web控制台)或 activiti-eclipse-designer 插件对业务流程进行建模,这两种方式都遵循 bpmn2.0 标准.使用designer 设计器绘制流程,会生成两个文件:.bpmn 和.png 1..bpmn文件 2..png文件生成 ①首先将.bpmn文件改为.xml文件 ②然后右键该xml文件Diagrams--->show BPMN 2.0 Designer就…
Activiti工作流学习(一)部署对象和流程定义
一.前言 前一段时间在工作中,使用了流程审批,对api的调用非常不熟悉,都是调用别人写好的接口在界面上进行显示,基本了解了流程审批的主要步骤,现对流程审批进行学习,主要是调用api进行CRUD操作,感兴趣或你在最近的工作中有遇到流程审批,要从头开始学习Activiti工作流,那可以去了解一下基本的应用. 二.Activiti参考学习 1.咖啡兔-工作流引擎Activiti演示项目 里面有详细的工作流演示,定义学习文档,为开源的项目: 三.开发前准备 1.Activiti源码下载,主要是用…
工作流activiti-03数据查询(流程定义 流程实例 代办任务) 以及个人小练习
在做数据查询的时候通过调用api来查询数据是相当的简单 对分页也进行了封装listPage(0, 4) ;listPage:分页查询 0:表示起始位置,4:表示查询长度 但是公司的框架封装了分页数据 为了更加简便的吻合公司的分页数据 可以通过自己写sql语句来查询数据列表 因为activiti封装的api最终得到的结果就是 查询数据库中的数据(这是本质) 为了自己便利的写出sql语句 必须要了解activiti中数据库表的含义: 个人理解如下: --表结构 SELECT * FROM…
Activiti第二篇【管理流程定义、执行任务和流程实例、流程变量】
上篇Activiti只是一个快速入门案例,这篇就讲定义.部署.查看任务等等的一些细节[涉及到的数据库表.对象等等]- 管理流程定义 管理流程定义主要涉及到以下的4张表: -- 流程部署相关的表 SELECT * FROM act_ge_bytearray # 通用字节资源表 SELECT * FROM act_ge_property # 通用属性表,可以生成部署id SELECT * FROM act_re_deployment #部署表 SELECT * FROM act_re_procdef…
项目实践之工作流引擎基本文档!Activiti工作流框架中流程引擎API和服务详解
流程引擎的API和服务 流程引擎API(ProcessEngine API)是与Activiti打交道的最常用方式 Activiti从ProcessEngine开始.在ProcessEngine中,可以获得很多包括工作流或者BPM方法的服务 ProcessEngine和服务类都是线程安全的.可以在整个服务器中仅保持它们的一个引用就可以 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); RuntimeSe…