(4)activiti之uel表达式】的更多相关文章

有了前面几章,我们肯定有一定的困惑,activiti如何与实际业务整合,比如一条采购单,如何跟一个流程实例互相关联起来? 这里就需要使用到activiti启动流程实例时设置一个流程实例的businessKey(一般存储我们一条采购单的id) 1,启动流程实例设置其businessKey /** * 启动一个流程实例,设置其业务id */ @Test public void startProInsWithKey() { RuntimeService runtimeService = engine.…
有了前面几章,我们肯定有一定的困惑,activiti如何与实际业务整合,比如一条采购单,如何跟一个流程实例互相关联起来? 这里就需要使用到activiti启动流程实例时设置一个流程实例的businessKey(一般存储我们一条采购单的id) 1,启动流程实例设置其businessKey /** * 启动一个流程实例,设置其业务id */ @Test public void startProInsWithKey() { RuntimeService runtimeService = engine.…
qq讨论群:313032825本人做了一个微信公众号,用于分享各类视频学习资源和我多年学习经验,喜欢的可以关注哦! 有了前面几章,我们肯定有一定的困惑,activiti如何与实际业务整合,比如一条采购单,如何跟一个流程实例互相关联起来? 这里就需要使用到activiti启动流程实例时设置一个流程实例的businessKey(一般存储我们一条采购单的id) 1,启动流程实例设置其businessKey /** * 启动一个流程实例,设置其业务id */ @Test public void star…
1什么是流程变量 流程变量在 activiti 中是一个非常重要的角色,流程运转有时需要靠流程变量,业务系统和 activiti结合时少不了流程变量,流程变量就是 activiti 在管理工作流时根据管理需要而设置的变量.比如在请假流程流转时如果请假天数大于 3 天则由总经理审核,否则由人事直接审核, 请假天数就可以设置为流程变量,在流程流转时使用. 注意:虽然流程变量中可以存储业务数据可以通过 activiti 的 api 查询流程变量从而实现 查询业务数据,但是不建议这样使用,因为业务数据查…
1分配任务负责人 1.1 固定分配 在进行业务流程建模时指定固定的任务负责人 在 properties 视图中,填写 Assignee 项为任务负责人.注意事项由于固定分配方式,任务只管一步一步执行任务,执行到每一个任务将按照 bpmn 的配置去分配任务负责人. 1.2 表达式分配 1.2.1 UEL 表达式 Activiti 使用 UEL 表达式, UEL 是 java EE6 规范的一部分, UEL(Unified Expression Language)即统一表达式语言, activiti…
分配任务负责人 一.固定分配 在进行业务流程建模时指定固定的任务负责人 在properties 视图中,填写Assignee 项为任务负责人. 注意: 由于固定分配方式,任务只管一步一步执行任务,执行到每一个任务将按照  bpmn  的配置去分配任务负责人. 二.表达式分配 1.UEL 表达式 Activiti 使用UEL 表达式,UEL 是java EE6 规范的一部分,UEL(Unified Expression Language)即统一表达式语言,activiti 支持两个UEL 表达式:…
上一篇文章大概讲了下什么是流程引擎,为什么我们要用流程引擎,他的基本原理是啥,以及怎么进行基本的使用,这篇文章我们再讲下其他的一些使用. 删除流程部署 package activiti02; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.activiti.eng…
一.Activiti是什么 Alfresco 软件在 2010 年 5 月17 日宣布 Activiti业务流程管理(BPM)开源项目的正式启动,其首席架构师由业务流程管理 BPM的专家 Tom Baeyens 担任,Tom Baeyens 就是原来 jbpm的架构师, 而 jbpm 是一个非常有名的工作流引擎,当然 activiti也是一个工作流引擎. Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的 建模语言(BPMN2.0)进行定义…
之前一直用的流程模型都是,固态的,写死的 由于固定分配方式,任务只能一步一步执行,执行到每一个任务将按照bpmn的配置去分配任务负责人.这显然在实际开发中是不可能的 所以我们需要动态分配人员 表达式分配 UEL表达式 Activiti使用UEL表达式,UEL是JavaEE6规范的一部分,UEL(Unified Expression Langguage)即统一表达式语言,Activiti支持两个UEL表达式,UEL-Value和UEL-Method. UEL-Value 定义如下 ${assing…
最近由于接触到Activiti工作流引擎,因此粗读了一下它的源码. 总结了一些内容如下,这些内容一般的doc上都是没有提及的. 1. model.Activity与model.Task Activity是模型时期对象(想想BPMN文件的那些元素),它有3个子类:CallActivity, SubProcess, Task(注意是 org.activiti.bpmn.model.Task) 流程启动的那个活动可以理解成有一个StartEventActivity Task有N个子类:Business…
day#1(11.13) 尝试通过spring boot 集成最新版activiti 7,但是苦于官方的文档基本为空,无法完成spring boot的配置,最终按照activiti 6的文档,手工初始化ProcessEngine以及完成deploy测试. 在eclipse中安装流程模型设计器,并画简单的流程. day#2(11.14) 想要开启activiti对数据库操作的SQL日志打印,研究了好一番功夫,终于得以实现.实现方式如下: <?xml version="1.0" en…
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 JDK 6+ Eclipse Indigo 和 Juno 报告问题 试验性功能 内部实现类 2. 开始学习 一分钟入门 安装Activiti 安装Activiti数据库 引入Activiti jar和依赖 下一步 3. 配置 创建ProcessEngine ProcessEngineConfigur…
前提:业务流程复杂且流程频繁变更的,建议使用工作流:其他情况不建议使用. activiti(v5.14),工作流引擎,基于jbpm.使用建模语言BPMN2.0进行定义. 工作流数据需要写入数据库,activiti(v5.14)支持的数据库有:db2.h2.mssql.mysql.oracle.postgres. 需要说明的是,activiti(v5.14)底层调用MyBatis来操作数据库. activiti自带创建数据库表的SQL文件,执行即可.或者XML中设置通过创建ProcessEngin…
流程引擎的API和服务 流程引擎API(ProcessEngine API)是与Activiti打交道的最常用方式 Activiti从ProcessEngine开始.在ProcessEngine中,可以获得很多包括工作流或者BPM方法的服务 ProcessEngine和服务类都是线程安全的.可以在整个服务器中仅保持它们的一个引用就可以 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); RuntimeSe…
Activiti 6.0 之SkipExpression 惭愧惭愧,这么一个小小的功能整了这么久. ​ 还是先说一下业务场景吧.在工作流中,我们难免会遇到这样的情况,即一个流程的发起者的身份问题.举个详细的例子.就拿一个公司的报销流程来讲.可能是这样的. 没有优化过的流程图(实在不想画了,太费劲了) 优化过的流程图 ​ 怎么样?看起来是不是清爽了很多?那怎么执行呢?首先,这篇说的是SkipExpression,所以审批不通过的驳回不在这篇说. 流程启动之后,第一个任务节点就是发起任务的节点. 在…
Query API 有两种方式从引擎中查询数据, 查询 API 和本地查询. API方式:   List<Task> tasks = taskService.createTaskQuery()         .taskAssignee("kermit")         .processVariableValueEquals("orderId","0815")         .orderByDueDate().asc()     …
网关(ExclusiveGateWay) 作者:邓家海2018年3月11日 00:13:25 情景:某一家公司最近在给一个单位做一个财务审批的OA.具体需求是这样的:当部门申请的金额小于一万块的时候,财务部可以直接决策.当部分申请的金额大于一万块并且小于三十万的时候,财务部经理决策,当金额超出了或者等于三十万的时候,需要财务主管来决策.那么我们的工作流应该如何设计呢?也许有人会说,这不简单,小于一万直接发送到财务部,大于一万小于三十,直接给财务经理.其他就发给财务主管.你是否注意到,其实这样字可…
错误原因:Tomcat8.x与activiti6.0依赖冲突导致 解决方法: 1.修改tomcat版本 2.在pom.xml中修改 在依赖中把 <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-engine</artifactId> <version>6.0.0</version> </dependency> 换为 <dep…
四.使用工作流开发 org.activiti.engine.ProcessEngine提供的Service作用在工作流引擎上面,如果所示是模仿一个公司简单的审批流程,你可以下载这个Demo:Activiti unit test template玩玩. 发布这个流程图可以通过RepositoryService进行,在数据库中存储的这些静态数据是这些: <?xml version="1.0" encoding="UTF-8"?> <definition…
先从工作流的启动开始讲,Activiti提供了四种工作流的启动方式 1.空启动事件 2.定时启动事件 3.异常启动事件 4.消息启动事件 空启动事件中标签内没有任何其他元素的定义 <startEvent id="startEvent" name="StartEvent"></startEvent> Activity根据需求在空启动事件上进行了扩展,activiti:formKey表示与这个启动事件所关联的外置表单,activiti:initi…
Liferay最大的问题是BPM弱,如果做企业开发,BPM必不可少,所以直入主题,做个BPMN2入门. 本文参考地址:http://activiti.org/userguide/index.html#bpmnConstructs BPMN 2.0中的重要概念: Events 事件 Sequence Flow 顺序流 Gateways 网关 Tasks 任务 Sub-Processes and Call Activities 子流程 Transactions and Concurrency 事务并…
http://www.jianshu.com/p/e6971e8a8dad ********************************************** 图1:一个典型的审批工作流程 最近做了一次对企业/云平台级工作流引擎Activiti的调查: TA,系出名门——由JBoss公司jBPM4引擎的原作者创立(JBoss公司无奈地已在jBPM5中改用了Drools内核.走了其他路线): TA,植根于Java开源社区,拥有SpringSource.MuleSoft.Signavio等…
Activiti中的表单 Activiti提供了一种方便而且灵活的方式在业务流程中以手工方式添加表单 对表单的支持有2种方式: 通过表单属性对内置表单进行渲染 通过表单属性对外置表单进行渲染 表单属性 业务流程相关联的所有信息: 包含自身的流程变量 通过流程变量的引用 Activiti支持存储复杂的Java对象作为流程变量: 序列化对象 Jpa实体对象 整个XML文档作为字符串 用户是在启动一个流程和完成用户任务时,与流程进行交互 表单需要某个UI技术渲染之后才能够与用户进行交互 为了能够使用不…
Activiti界面元素的使用总结 一.图形设计中元素的使用 1.SequenceFlow:连接线,可以连接两个任务,来管理流程实例的流向 -----General -----id:流程的id,用与程序内部识别 -----name流程的名字,用于用户显示识别 -----Main config -----Label width:组件的大小,自动 -----Condition:执行该流程的条件,可以通过#{}或${}结合流程变量来 实现 -----Listeners:通过类来控制流程的执行,该来要实…
转载请注明源地址:http://www.cnblogs.com/lighten/p/5931207.html 对于BPMN我也不是十分清楚,目前也只是因为对于Modeler中不熟悉的组件查询,来对这部分的内容进行学习,不求一次理解,边学边理解吧.所以这一章的介绍会比较简单,但也足够了. Modeler中的组件列表划分和BPMN的略微有些不同,而且有些内容好像也没有,最后移植到自己的demo中,还遇到了一些问题,如果可能的话,之后会详细介绍一下Modeler的构成,大致是官方文档的第七节Overv…
Activiti学习资料 Activiti是业界很流行的java工作流引擎,关于Activiti与JBPM5的关系和如何选择不是本文要讨论的话题,相关内容可以baidu一下.Activiti从架构角度看是比较优秀的,是很面向对象的,是我所阅读过的代码结构很棒的开源软件,个人认为比Spring,Hibernate的要好. Activiti的基础编程框架 Activiti基于Spring,ibatis等开源中间件作为软件平台,在此之上构建了非常清晰的开发框架.上图列出了Activiti的核心组件.…
http://jiangwenfeng762.iteye.com/blog/1338553 Activiti是业界很流行的java工作流引擎,关于Activiti与JBPM5的关系和如何选择不是本文要讨论的话题,相关内容可以baidu一下.Activiti从架构角度看是比较优秀的,是很面向对象的,是我所阅读过的代码结构很棒的开源软件,个人认为比Spring,Hibernate的要好. Activiti的基础编程框架 Activiti基于Spring,ibatis等开源中间件作为软件平台,在此之上…
最近在搞openwebflow的工作流节点自由跳转功能,在网上看了一些资料,感觉不是很好,总结原因如下: 直接手动调用SqlSession的操作,感觉会漏掉一些重要的初始化操作(如:启动新节点之后加载其用户授权策略,等): 只有往前(往已执行过的节点)跳转的功能,没有往后节点(往还没有执行的节点)跳转的功能: 新任务不是追加到已有执行路径上,而是覆盖老任务: 那么就自己动手吧!操作流程其实也简单,大概如下: 按照目标节点(activity)定义创建一个新的任务(task),这个创建过程必须和正常…
http://www.kafeitu.me/activiti/2012/08/05/diff-activiti-workflow-forms.html 开篇语 这个恐怕是初次接触工作流最多的话题之一了,当然这个不是针对Activiti来说的,每个工作流引擎都会支持多种方式的表单.目前大家讨论到的大概有三种. 动态表单 外置表单 普通表单 具体选择哪种方式只能读者根据自己项目的实际需求结合现有技术或者架构.平台选择!!! 1.动态表单 这是程序员最喜欢的方式,同时也是客户最讨厌的--因为表单完全没…
网关用来控制流程的流向 网关可以消费也可以生成token. 网关显示成菱形图形,内部有有一个小图标. 图标表示网关的类型. 基本分支 首先 利用 流程变量  写个带有分支的一个基本流程 流程图: 部署流程文件: //获取流程引擎 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); @Test public void deployFlow(){ //获取仓库服务对象 RepositoryService re…