篇一 :工作流Activiti的学习总结(五) activiti的API和虚拟工作流测试

工作流Activiti的学习总结(五) activiti的API和虚拟工作流测试

activiti的API
在activiti引擎中,你可以通过多种方式获取ProcessEngine对象,从ProcessEngine中获取各种服务对象,从而访问工作流/BPM方法。ProcessEngine和她的各种服务均为线程安全性服务。在整个项目中每一种服务仅需要保持一个引用。

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

RuntimeService runtimeService = processEngine.getRuntimeService();

RepositoryService repositoryService = processEngine.getRepositoryService();

TaskService taskService = processEngine.getTaskService();

ManagementService managementService = processEngine.getManagementService();

IdentityService identityService = processEngine.getIdentityService();

HistoryService historyService = processEngine.getHistoryService();

FormService formService = processEngine.getFormService();


针对ProcessEngine的说明:
ProcessEngine.getDefaultProcessEngine()在第一个被调用的时候初始化并创建一个流程引擎,在以后的调用中返回同一个引用的流程引擎对象。针对流程引擎中初始化方法为ProcessEngine.init().销毁方法的方法为ProcessEngine.destroy().

…… …… 余下全文

篇二 :工作流Activiti的学习总结(三) activit数据库限制和数据库相关的配置

工作流Activiti的学习总结(三) activit数据库限制和数据库相关的配置

数据库相关的配置:
在activiti中的持久化框架采用Ibatis3实现。有两种方式定义activiti的数据库。
1.通过jdbc.properties定义数据库相关的属性:
jdbcUrl:jdbc url连接字符串.
jdbcDriver:数据库驱动
jdbcUsername:用户名。
jdbcPassword: 用户密码
默认的MyBatis连接池设置基于jdbc.properties文件构建数据源的。以下属性为可选的连接池默认的属性:
jdbcMaxActiveConnections:在任何时间,连接池中最大的活动连接数.默认为10。 jdbcMaxIdleConnections: 连接池中最大的连接池空闲连接数。
jdbcMaxCheckoutTime: 连接池心跳检查毫秒数。默认 20000 (20秒). jdbcMaxWaitTime: This is a low level setting that gives the pool a chance to print a log status and re-attempt the acquisition of a connection in the case that it’s taking unusually long (to avoid failing silently forever if the pool is misconfigured) Default is 20000 (20 seconds).
在activiti-cfg.jar文件中配置如下:
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

…… …… 余下全文

篇三 :工作流Activiti的学习总结(六)Antiviti的安装详细过程

工作流Activiti的学习总结(六)Antiviti的安装详细过程 activiti-5.6的安装

项目中采用最新的Activiti版本为5.6GA的activiti REST方式访问相关的REST WebService服务,activiti提供了

对mysql、oracle、postgres的全面支持。demo的安装脚本比之前的版本都有了很大的优化,基本上按教程就能顺利demo,

真正达到了GA的效果了。为此我将在使用mysql的安装过程及遇到的一些小问题总结记录了下来。但是我们项目采用H2数据库

(Generic H2 Server)方式存储数据(安装成功之后在

${activiti_home}\apps\h2目下保存数据文件{activiti_db}.h2.db) 和{activiti_db}.lobs.db.

如下是在windows XP环境下使用mysql数据库的安装实录:

一)下载 activiti-5.6.zip

二)将activiti-5.6zip解压到指定目录,假设为“C:\mash_activiti-5.6”,注意下面提到的路径均是相对于该路径而言

三)检查数据库类型

打开文件“setup\build.properties”修改db=h2(采用默认为h2)。

四)配置H2数据库

创建名称为activiti的空数据库,连接帐号设为sa,密码也设为activiti。( 如果不喜欢默认的连接配置,可以修改文件“setup\build.h2.properties”中相应的属性值)

五)预下载一些必需的文件到“C:\downloads”(备注这一步可以不执行,非必须的,在网络比较好的情况下,使用ant自动下载)

“C:\downloads”这个路径是在build.properties中通过属性

“downloads.dir”定义的,也可以手动修改指定其他位置。

…… …… 余下全文

篇四 :工作流Activiti的学习总结(八)Activiti自动执行的应用

工作流activiti自动执行任务的开发应用

工作流模拟某公司请假流程情景如下:

1.开发人员请假流程,如果开发人员请假,如果请假天数小于3天,组长批准,人事批准即可请假。

2.如果请假大约三天,需要项目经理或者产品经理批准,并且项目总监批准

模拟自动审批:

只需要启动一个流程实例,它会自动执行到结束。这种情况下,你不需要关注流

程的执行进度,而只需要把精力集中在每个结点的处理逻辑(通常是简单或者复杂的商业逻辑)上。

流程设计图如下:

流程配置文件AutoExecuteTask.bpmn20.xml如下:

<;?xml version=";1.0"; encoding=";UTF-8";?>;

<;definitions xmlns=";/spec/BPMN/20100524/MODEL"; xmlns:xsi=";/2001/XMLSchema-instance";

xmlns:activiti=";http://activiti.org/bpmn";

xmlns:bpmndi=";/spec/BPMN/20100524/DI";

xmlns:omgdc=";/spec/DD/20100524/DC";

xmlns:omgdi=";/spec/DD/20100524/DI";

typeLanguage=";/2001/XMLSchema";

expressionLanguage=";/1999/XPath";

targetNamespace=";/test";>;

<;process id=";AutoExecuteTask"; name=";AutoExecuteTask";>;

…… …… 余下全文

篇五 :工作流Activiti的学习总结(十二) activiti官方十分钟快速学习

根据activiti官方提供的 编写

1.财务部门填写月财务报告

2.股东审核月财务审计报告

流程图:

流程配置:

<;?xml version=";1.0"; encoding=";UTF-8";?>;

<;definitions xmlns=";/spec/BPMN/20100524/MODEL"; xmlns:xsi=";/2001/XMLSchema-instance";

xmlns:activiti=";http://activiti.org/bpmn";

xmlns:bpmndi=";/spec/BPMN/20100524/DI";

xmlns:omgdc=";/spec/DD/20100524/DC";

xmlns:omgdi=";/spec/DD/20100524/DI";

typeLanguage=";/2001/XMLSchema";

expressionLanguage=";/1999/XPath";

targetNamespace=";http://activiti.org/bpmn20";>;

<;process id=";financialReport"; name=";Monthly financial report reminder process";>;

<;startEvent id=";startevent1"; name=";月财务报告审核开始";>;<;/startEvent>; <;!-- 采用用户组为accountancy编写财务报告 -->;

…… …… 余下全文

篇六 :工作流Activiti的学习总结(二)activiti中ProcessEngine的创建和数据库表命名规则

工作流Activiti的学习总结(二)activiti中ProcessEngine的创建和数据库表命名规则

数据库表命名规则:

Activiti工作流引擎的数据库表中的表名称都是以 ACT_.第二部分两个字母表示表的类型。使用模糊匹配的方式说明表的类型匹配activiti的服务API. · ACT_RE_*: RE代表仓储(Repository).这种表前缀以“static”表示流程定义信息或者流程资源信息(如流程的图表和规则等).

· ACT_RU_*: RU标识为运行(Runtime)时表。包含流程实例,用户任务和变量任务等在运行时的数据信息。这些表只存储Activiti在流程实例运行执行的数据,在流程结束的时候从表中去除数据。从而保持运行时候数据的表的快速和小数据量.

· ACT_ID_*:ID标识为唯一(Identity)的。包含一些唯一的信息如用户,用户做等信息。

· ACT_HI_*:HI表示历史数据(History)表,包括过期的流程实例,过期的变量和过期的任务等。

· ACT_GE_*:GE表示公用(General data)的数据库表类型。

ProcessEngine接口中暴露了在BPMN和工作流中中所有操作的服务接口。 用户获取流程实例相关的各种运行时信息.

暴露服务用于操作人工操作的任务例如代办( claiming, completing and assigning tasks).

这个服务用于管理用户和用户组已经用户和用户组关系等的。

暴露引擎飞管理和主要操作。

:服务暴露过期流程实例等信息。

在工作流activiti流程引擎中可以通过activiti.cfg.xml配置。

ProcessEngineConfiguration配置一个流程引擎,在用户应用中创建一个流程引擎的可以通过多种方式:

1.基于默认的配置文件创建一个流程引擎:

…… …… 余下全文

篇七 :Activiti工作流引擎数据库表结构

Activiti工作流引擎数据库表结构

数据库表的命名

Acitiviti数据库中表的命名都是以ACT_开头的。第二部分是一个两个字符用例表的标识。此用例大体与服务API是匹配的。

1.                   ACT_RE_*:’RE’表示repository。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。

2.                   ACT_RU_*:’RU’表示runtime。这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。

3.                   ACT_ID_*:’ID’表示identity。这些表包含标识的信息,如用户,用户组,等等。

4.                   ACT_HI_*:’HI’表示history。就是这些表包含着历史的相关数据,如结束的流程实例,变量,任务,等等。

…… …… 余下全文

篇八 :工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解

工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解

Spring和Activiti的整合:

在Spring和Activiti的整合中ProcessEngineFactoryBean成为了两者的整合点。ProcessEngineFactoryBean为org.activiti.spring.ProcessEngineFactoryBean。提供了ProcessEngine的配置和创建的功能。

<bean

id="processEngineConfiguration"class="org.activiti.spring.SpringProcessEngineConfiguration">

...

</bean>

<bean id="processEngine"class="org.activiti.spring.ProcessEngineFactoryBean"> <property

name="processEngineConfiguration"ref="processEngineConfiguration"/> </bean>

如果在包含事物的activiti配置如下:

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:tx="http://www.springframework.org/schema/tx"

…… …… 余下全文