`
longgangbai
  • 浏览: 7338148 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

工作流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和工作流中中所有操作的服务接口。

  • RuntimeService: 用户获取流程实例相关的各种运行时信息.
  • TaskService: 暴露服务用于操作人工操作的任务例如代办( claiming, completing and assigning tasks).
  • IdentityService: 这个服务用于管理用户和用户组已经用户和用户组关系等的。
  • ManagementService: 暴露引擎飞管理和主要操作。
  • HistoryService:服务暴露过期流程实例等信息。

 

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

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

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

  ProcessEngine processEngine = ProcessEngineConfiguration
      .createProcessEngineConfigurationFromResourceDefault()
      .buildProcessEngine();
2.在缺少配置文件创建一个流程引擎

ProcessEngine processEngine = ProcessEngineConfiguration
      .createStandaloneProcessEngineConfiguration()
      .buildProcessEngine();
3.获取一个默认的流程引擎

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine()
 
在工作流activiticlasspath路径中activiti.cfg.xml文件位于activiti-5.6\setup\files\cfg.activiti\standalone中。
Spring的配置内容如下:

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

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">

 

  <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

  

    <property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" />

    <property name="jdbcDriver" value="org.h2.Driver" />

    <property name="jdbcUsername" value="sa" />

    <property name="jdbcPassword" value="" />

    

    <property name="databaseSchemaUpdate" value="true" />

    

    <property name="jobExecutorActivate" value="false" />

    

    <property name="mailServerHost" value="mail.my-corp.com" /> 

    <property name="mailServerPort" value="5025" />    

  </bean>

 

</beans>
备注:上面activiti.cfg.xml配置必须spring,但是activiti工作流对spring并不是必须的。

通过编程方式ProcessEngineConfiguration
1.
使用配置文件

    ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();

        ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(String resource);

       ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(String resource, String beanName);

        ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(InputStream inputStream);

        ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(InputStream inputStream, String beanName);

 

2.无配置 文件创建方式

ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration(); 

ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();

 

ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration() 

  .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE) 

  .setJdbcUrl("jdbc:h2:mem:my-own-db;DB_CLOSE_DELAY=1000") 

  .setJobExecutorActivate(true) 

  .buildProcessEngine();

 

org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration: 在独立方式运行的流程引擎使用。 Activiti需要使用事务对象。默认的情况下,在引擎启动的时候检查数据库将检查activiti的是否有schemaschema的版本是否正确. org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration:

this is a convience class for unit testing purposes. Activiti will take care of the transactions. An H2 in-memory database is used by default. The database will be created and dropped when the engine boots and shuts down. When using this, probably no additional configuration is needed (except when using for example the job executor or mail capabilities). ( 测试环境中使用)

 

org.activiti.spring.SpringProcessEngineConfiguration:

  To be used when the process engine is used in a Spring environment. See the Spring integration section for more information. (Spring环境中使用)

 

org.activiti.engine.impl.cfg.JtaProcessEngineConfiguration:

     ([EXPERIMENTAL]) to be used when the engine runs in standalone mode, with JTA transactions.(JPA环境中使用)

分享到:
评论

相关推荐

    自动建立activiti工作流数据库表

    Activiti 是一个开源的工作流和业务流程管理(BPM)系统,它被广泛用于企业级应用中,以实现流程自动化和提升工作效率。本教程将详细解释如何自动建立Activiti工作流所需的数据库表。 首先,理解Activiti的工作原理...

    activiti工作流PPT

    工作流是指在组织内部,人们按照预定义的规则和顺序执行任务的过程。Activiti作为一个工作流引擎,允许开发者通过编程或使用图形化工具定义、执行和管理这些流程。 在Activiti中,流程定义是用BPMN 2.0(Business ...

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

    【工作流Activiti的核心概念与API】 Activiti是一款开源的工作流引擎,用于构建业务流程管理系统(BPM)。它提供了一套强大的API,使得开发者能够轻松地集成和操作工作流。在学习总结(五)中,我们将关注Activiti的...

    Activiti工作流详细讲解完整教程.pdf

    根据提供的文件信息,我们可以深入探讨Activiti工作流框架的相关知识点。 ### Activiti工作流框架概述 Activiti工作流框架是一款由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架。它以其灵活性、易用...

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

    标题和描述中提到的“Activiti的API和虚拟工作流测试”暗示了本文档将围绕Activiti工作流引擎的API使用和测试工作流实例展开。Activiti是一个基于Java的业务流程管理系统(BPM),它遵循BPMN2.0标准,提供了一个易于...

    Activiti工作流学习资料.zip

    Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM...

    Activiti创建数据库表

    Activiti 是一个开源的工作流和业务自动化引擎,它主要用于企业级业务流程管理(BPM)。在使用Activiti时,为了支持流程的运行,我们需要在数据库中创建一系列的表来存储流程实例、任务、变量等信息。这篇内容将详细...

    Activiti工作流课程.pdf

    Activiti工作流课程.pdf为读者提供了一个系统的Activiti工作流知识框架,涵盖了工作流的概念、Activiti的介绍、工作流引擎、BPMN业务流程建模与标注、数据库支持等方面的知识点,是学习Activiti工作流的不二之选。

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

    在学习工作流Activiti时,理解其API的使用和虚拟工作流测试是非常关键的环节。Activiti是一个开源的工作流和业务流程管理系统,它提供了一套强大的API,使得开发者能够轻松地集成工作流到他们的应用程序中。 首先,...

    工作流activiti源码案例

    在这个"工作流activiti源码案例"中,我们可以深入学习如何在实际项目中应用Activiti。 1. Activiti概述:Activiti是基于BPMN 2.0标准的轻量级工作流引擎,它支持业务流程建模、执行和监控。BPMN(Business Process ...

    前后端分离项目中引入activiti工作流引擎步骤

    下面我们将详细探讨在前后端分离项目中如何引入和配置Activiti工作流引擎。 1. **了解Activiti** Activiti是基于BPMN 2.0标准的轻量级工作流引擎,它提供了一整套流程定义、执行、监控和管理的工具。通过Activiti...

    activiti工作流项目

    【标题】"activiti工作流项目"是一个基于Java技术栈实现的工作流管理系统示例,它集成了SpringMVC、Hibernate和Activiti等关键组件。这个项目旨在演示如何在实际应用中利用Activiti来构建动态表单和处理各种流程审批...

    activiti工作流引擎

    总结,Activiti工作流引擎提供了全面的流程管理功能,开发者可以在IDEA这样的集成开发环境中轻松地进行开发和调试。结合MySQL数据库,可以实现流程数据的稳定存储和高效访问。在实际应用中,根据业务需求,可以扩展 ...

    工作流Activiti的学习总结(九)Activiti手工执行的应用(ReceiveTask实现方式)

    在本篇博文中,我们将深入探讨Activiti工作流引擎中手工执行的应用,特别是通过ReceiveTask实现方式。Activiti是一款开源的业务流程管理(BPM)和工作流引擎,广泛应用于企业的流程自动化。它允许开发者定义复杂的...

    Activiti工作流课程

    在学习Activiti工作流课程时,理解这些基本概念和数据库结构至关重要。通过掌握BPMN和Activiti的使用,开发者可以构建出符合业务需求的流程模型,实现自动化工作流,提高企业的效率和协同能力。在实际操作中,还需要...

    Activiti 5.15 用户手册

    理解数据库表的命名 数据库升级 启用Job执行器 配置邮件服务器 配置历史 为表达式和脚本暴露配置 配置部署缓存 日志 映射诊断上下文 事件处理 事件监听器实现 配置与安装 在运行阶段添加监听器 为流程...

    Activiti工作流HelloWorld入门

    Activiti是一款开源的工作流引擎,它基于Java技术,用于在企业级应用中实现业务流程自动化。这个“Activiti工作流HelloWorld入门”旨在帮助初学者快速理解并掌握Activiti的基本用法。下面,我们将详细讲解如何创建一...

    activiti 5.14 中文开发文档

    Activiti是一个流行的开源工作流和业务流程管理(BPM)平台,它允许开发者轻松地在Java应用中集成BPMN 2.0标准的工作流。Activiti 5.14是该平台的一个版本,具有完整的中文开发文档,对于习惯中文的开发人员非常友好。...

Global site tag (gtag.js) - Google Analytics