Activiti定时中间事件入门实例
定时中间事件指在流程中将一个定时器作为独立的节点来运行。当流程到达定时中间事件节点的时候,流程会等待事件到达,只有当事件到达了才会触发定时事件,然后流程继续向下走。下面定义了一个简单的流程来测试如何使用定时中间事件。
定时中间事件指在流程中将一个定时器作为独立的节点来运行。当流程到达定时中间事件节点的时候,流程会等待事件到达,只有当事件到达了才会触发定时事件,然后流程继续向下走。下面定义了一个简单的流程来测试如何使用定时中间事件。
当执行流到达错误结束事件时,会结束该执行流并且抛出错误,该错误可以被错误边界事件捕获,如果没有定义任何的错误边界事件,那么其将会被当作无指定错误事件执行。因此,错误结束事件一般使用在子流程当中,如果错误事件结束,就会触发依附在该子流程上的错误边界事件。错误结束事件和错误边界事件需要一起使用才有意义,错误结束事件触发错误边界事件,错误边界时间捕获错误结束事件抛出的错误信息,而它们一般在嵌套子流程和调用子流程中使用。
BPMN2.0规定了错误开始事件只能使用在事件子流程(Event Sub-Process)中,该该事件不能使用在其他流程中,包括最高级流程(Top-Level Process)、嵌套子流程(Sub-Process)和调用子流程(Call Activity)。
在BPMN2.0规范中,消息表示的是流程参与者的沟通信息对象,在一般流程中,流程的各个角色的沟通信息均有可能导致流程的开始。流程开始事件,可以理解为另外一种启动流程的方式或者途径,使用该开始事件,当达到“接收消息”的条件后启动流程。下面将给出一个实例来说明消息开始事件的使用。
开始定时事件(Start Event Timer)指在开始事件中指定定时器,在符合指定的时间时流程会自动启动。下面通过实例来学习该事件。
Activiti无指定开始事件指不为开始事件指定任何的触发条件的事件。下面将通过一个实例来学习什么是无指定事件。
在Activiti中事件指能够被触发或自动触发的一系列动作。如:定时事件(到了设置的时间则触发)、消息事件(收到监听的消息就触发)。Activiti中事件按照位置分为开始、中间、结束、边界事件。按照特性分为Throwing和Catching事件。
下面将会介绍activiti5数据库表的设计,以及每个表中字段的详细解释。然后提供PowerDesigner文件供读者下载。
Activiti为了开发人员开发方便,提供了一系列的开发组件。这些组件可以非常方便控制Activiti。主要提供了如下开发组件:流程管理、用户管理、任务管理、历史数据管理等组件。
在Activiti中,定义一个流程,该流程包含事件子流程。当启动流程时抛出如下错误信息: org.activiti.engine.ActivitiException: Errors while parsing: event definitions only allowed on start event if subprocess is an event subprocess | subStart | line 7 | column 33
本实例是activiti的入门实例,讲述如何来配置activiti,以及定义第一个属于你自己的activiti流程。该流程定义了一个开始事件、一个结束事件和两个普通的用户任务。
本实例演示怎样使用activiti中的定时器事件和java服务任务。流程启动后(同时设置两个定时器的触发时间),等待第一个定时器事件触发,然后进入下一个任务,然后结束该任务(通过线程来模拟)且修改第二个定时器事件的时间,等待第二个定时器被触发,执行下一个java服务任务,最后结束。
在测试serviceTask的时候忘记设置'class', 'delegateExpression', 'type', 'operation', 或 'expression'属性。导致系统抛出Errors while parsing:[Validation set: 'activiti-executable-process' | Problem: 'activiti-servicetask-missing-implementation'] : One of the attributes 'class', 'delegateExpression', 'type', 'operation', or 'expression' is mandatory on serviceTask. - 等错误信息
今天在测试activiti的databaseSchemaUpdate属性的drop-create的时候一直抛出org.activiti.engine.impl.db.DbSqlSession错误信息,开始有点疑惑,折腾了很久才知道,原来是我将activiti数据库中的某些表或者记录删除,造成外键约束混乱,才会抛出这个错误。
今天在学习activiti5的时候遇到了这个问题:org.activiti.engine.ActivitiObjectNotFoundException: no deployed process definition found with id 'simpleApprovalProcess',网上这方面的资料少,一直没有找到为什么会出现这个错误。最后通过调试程序,终于发现这个问题是自己粗心造成的。