`
hong114126
  • 浏览: 28412 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Activiti工作流详解二

阅读更多

数据库表命名规则:

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 sectionfor more information. (Spring环境中使用)

 

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

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

分享到:
评论
1 楼 我相信_锦发 2015-05-15  
[b][/b]    

相关推荐

    Activiti工作流详解完整教程

    Activiti工作流详解完整教程, 1) JDK1.6或者更高版本 2) 支持的数据库有:h2,mysql,oracle,mysql,db2等 3) 支持Activiti运行的jar包,可以通过maven依赖引入 4) 开发环境为Eclipse3.7或者以上版本,myeclipse为8.6...

    Activiti工作流引擎入门

    2. Activiti工作流引擎特点: - Activiti使用BPMN2.0作为建模语言,使得流程可视化和理解更加直观。 - 它支持动态流程变更,无需修改代码即可调整流程,这是因为流程的管理基于流程图,而不是硬编码的状态字段。 - ...

    activiti 工作流23张表详细介绍

    ### Activiti工作流23张表详细介绍 #### 一、Activiti数据库表结构概述 Activiti是一款开源的工作流引擎,其强大的流程管理能力使得它在众多业务场景中得到广泛应用。为了更好地理解Activiti如何存储流程数据,本...

    Activiti工作流教学

    Activiti工作流两天上手教程。详解工作流主流技术,从环境安装、核心API讲解到流程实例、任务执行,不错的java工作流教程

    Activiti工作流数据库表结构.docx

    Activiti工作流数据库表结构详解 Activiti是一款基于Java的开源工作流引擎,可以实现业务流程自动化和工作流管理。为了更好地理解Activiti的工作机制,我们需要了解Activiti工作流数据库表结构。 Activiti工作流...

    初识工作流 Activiti 视频详解

    Activiti工作流视频详解,带课程文档Activiti工作流视频详解,带课程文档

    Activiti工作流数据库表结构

    ### Activiti工作流数据库表结构详解 #### 一、概述 Activiti是一个开源的工作流引擎,基于Java语言实现,能够支持BPMN 2.0标准。它提供了一套完整的解决方案来管理和执行业务流程,包括流程建模、执行、监控等...

    activiti工作流

    ### Activiti工作流详解 #### 一、工作流概念与定义 **工作流(Workflow)**是一种将业务过程的某部分或全部实现计算机自动化的方式。它主要用于处理文档、信息或任务在多个参与者之间的传递过程,目的是为了实现...

    Activiti-5.21数据库表结构详解(共25张表)

    工作流的应用越来越广泛,而activiti是公认的现阶段最好的工作流框架之一,详细了解activiti的库表结构有助于您更好的掌握学习工作流框架,共享本资源以供广大编程从业人员学习交流,望本资源可以帮助您更上一层楼。

    Activiti工作流开发笔记

    ### Activiti工作流开发知识点详解 #### 一、工作流概念与原理 1. **工作流定义**:工作流指的是“业务过程的部分或整体在计算机应用环境下的自动化”。其核心目的是通过自动化流程来提高效率,确保流程按照预定的...

    activiti工作流的新手入门答疑

    虽然国产的工作流较多,但开源一直为activiti和JBPM所垄断,相对来说acticiti更为灵活,但目前国内关于activiti的资料还是比较少,或几乎没有,而本书无疑是activiti工作流的新手入门答疑书籍,本书籍包括activiti...

    activiti工作流.docx

    ### Activiti工作流知识点详解 #### 一、Activiti简介 Activiti是一个开源的业务流程管理(BPM)框架,由Alfresco软件在2010年5月17日发布。它不仅覆盖了业务流程管理、工作流和服务协作等领域,而且提供了一个...

    activiti,入门详解

    【Activiti工作流入门详解】 Activiti是一款开源的工作流程引擎,它基于模型驱动的架构,提供了高度可扩展性和灵活性,广泛应用于企业的业务流程自动化。在本文中,我们将深入理解如何入门Activiti,包括配置安装、...

    传智播客_Activiti工作流视频

    根据提供的文件信息,我们可以推断出这是一套关于Activiti工作流引擎的视频教程。下面将详细介绍Activiti工作流的相关知识点以及这套视频教程可能涵盖的内容。 ### Activiti工作流引擎简介 Activiti是一个轻量级的...

    Java Activiti⼯作流引擎简介详解

    Java Activiti 工作流引擎简介详解 Activiti 是一个开源的业务流程管理(BPM)框架,由 Alfresco 软件在 2010 年 5 月 17 日发布。它是一个灵活的、易扩展的可执行流程语言框架,覆盖了业务流程管理、工作流、服务...

    activiti6.0工作流配置(中文)

    《Activiti 6.0 工作流配置详解——与MySQL 8.0集成实践》 Activiti是一款开源的工作流引擎,它为企业的业务流程管理(BPM)提供了强大的支持。在Activiti 6.0版本中,我们看到了一系列的改进和优化,包括更友好的API...

    eclipse-activiti工作流插件

    **Eclipse Activiti 工作流插件详解** Activiti 是一个开源的工作流和业务流程管理(BPM)系统,它被广泛应用于企业级应用程序中,以实现灵活、可扩展的业务流程自动化。Eclipse Activiti 插件是专门为开发人员提供...

    activiti表结构详解

    Activiti是一款开源的工作流引擎,它为企业流程自动化提供强大的支持。在深入了解Activiti之前,我们需要先理解其核心的表结构,这些表是引擎运行的基础,它们存储了流程定义、实例、任务等各种信息。本篇文章将详细...

    Activiti 工作流

    【Activiti工作流详解】 Activiti是一个开源的业务流程管理(BPM)框架,由Alfresco软件在2010年发布。它提供了一种强大的工具,用于设计、执行和监控业务流程,同时保持高度的灵活性和可扩展性。Activiti基于...

Global site tag (gtag.js) - Google Analytics