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

工作流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"

       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">

 

    <!-- Database configurations -->

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

    <property name="jdbcUrl" value="jdbc:h2:tcp://localhost/activiti" />

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

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

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

   

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

 

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

   

  </bean>

 

</beans>

采用数据源方式可以如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >

  <property name="driverClassName" value="com.mysql.jdbc.Driver" />

  <property name="url" value="jdbc:mysql://localhost:3306/activiti" />

  <property name="username" value="activiti" />

  <property name="password" value="activiti" />

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

</bean>      

 

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

  

    <property name="dataSource" ref="dataSource" />

...
</bean>

以下两个属性最好设置:

databaseType:这个参数并不是必须设置,但是在采用非H2的数据库时候,就是必须的,这个设置在数据库创建和查询时候使用。
databaseSchemaUpdate:
在工作流引擎启动和关闭的使用数据库的针对表结构的处理策略。
    
默认为false:在工作流引擎启动时检查数据库脚本的版本和activiti library的版本是否一致如果不一致抛出异常信息。

true:在脚本结构发生变化时候,检查表结构是否存在,如果存在则更新,如果不存在则创建。
  create-drop:
当工作流引擎被创建时候创建,当工作流引擎关闭时删除表结构信息。

Job executor activation
  JobExecutor
是一个管理一系列激活timer和异步消息的线程的组件。在单元测试里可以使用ManagementService.createJobQuery查询线程,使用ManagementService.executeJob执行线程的方法。
 
默认情况下JobExecutor在流程引擎启动的时候激活状态。可以通过以下方式关闭。
<property name="jobExecutorActivate" value="false" />

Mail Server
配置:
   activiti
支持在业务流程中发送电子邮件。如果要发送一个邮件,必须配置一个有效的SMTP邮件服务器配置。

History
配置
  
配置如下:
<property name="history" value="audit" />

 

目前支持的数据库和版本(版本采用activiti5.6说明):

Activiti database type

Versions tested

Notes

h2

1.2.132

Default configured database

Mysql

5.1.11

 

Oracle

10.2.0

 

Postgres

8.4

 

db2

DB2 9.7 using db2jcc4

[EXPERIMENTAL]

Mssql

2008 using JDBC jtds-1.2.4

[EXPERIMENTAL]

 

选择不同数据库,如果要运行非H2数据库,通过运行demo setup或者需要自动生成配置文件为不同的数据库。可能需要编辑以下文件:

  •  
    1. 修改setup/build.properties db属性设置使用的数据库类型{oracle|mysql|postgres| h2|db2|mssql},activitidb属性对数据库类型的大小写敏感。
    2. 修改set/build.${db}.propeties,设置jdbc的连接参数信息。

setup/build目录可以使用ant cfg.create自动生成配置文件在setup/build/activiti-cfg.xml和一个setup/build下一个包含activiti-cfg.xml配置文件的activiti-cfg.jar
如果想重新安装demo在其他数据库可以采用如下步骤命令:
1.
停止demo setup
 ant demo.stop
2.
清空并重启
ant demo.clean demo.start
备注在数据库升级的时候最好设置<property name="databaseSchemaUpdate" value="true" />,当activiti libraryactiviti数据库schema版本不同步,自动更新,否则将抛出异常。

分享到:
评论

相关推荐

    工作流Activiti5学习总结

    【工作流Activiti5学习总结】 工作流管理系统(Workflow Management System, WfMS)是企业信息化建设中的重要组成部分,它负责协调和管理业务流程。Activiti5是一款开源的工作流引擎,由Alfresco公司开发,它基于...

    activiti适配达梦数据库教程

    activiti 是一个开源的 Workflow 和 BPM system,它提供了强大的工作流引擎和业务流程管理功能。然而,activiti 默认支持的数据库只有 MySQL、 PostgreSQL、Oracle 等少数几种,而达梦数据库作为一个国产数据库产品...

    工作流activiti学习代码

    在本"工作流Activiti学习代码"资源中,我们将深入探讨如何利用Activiti进行流程设计、部署和执行。 1. Activiti简介: Activiti是一个基于模型驱动的BPMN 2.0规范的工作流引擎,支持图形化建模工具,使得业务人员...

    对activiti二次开发适配达梦数据库.docx

    Activiti二次开发适配达梦数据库教程 Activiti是一款流行的开源业务流程管理系统,旨在帮助企业自动化业务流程、提高效率和降低成本。然而,Activiti默认情况下不支持达梦数据库,需要进行二次开发来适配达梦数据库...

    activiti连接金仓数据库配置+文件.rar

    6. **测试连接**:配置完成后,通过编写测试用例来验证Activiti是否能成功连接到Kingbase数据库,并执行相关的CRUD操作,以及工作流引擎的基本功能。 7. **异常处理**:在实际运行过程中,可能会遇到数据库连接问题...

    工作流activiti数据库配置文件

    工作流Activiti是一款开源的工作流程管理系统,用于设计、执行和管理业务流程。它基于Java,兼容JEE标准,且与Spring框架高度集成。在 Activiti 中,数据库配置文件是核心组成部分,因为它定义了如何连接到存储流程...

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

    文档《Activiti工作流数据库表结构.pdf》详细描述了Activiti工作流引擎在数据库中使用的一系列表以及这些表的作用和结构。 下面详细说明在Activiti引擎中常见的数据库表及其功能: 1. ACT_GE_* 表:这类表用于存储...

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

    标题中的“工作流Activiti的学习总结(八)Activiti自动执行的应用”表明本文将探讨如何在Activiti工作流引擎中实现任务的自动化执行。Activiti是一个开源的工作流和业务流程管理(BPM)系统,广泛应用于企业级应用...

    Activiti连接达梦数据库.pdf

    本文将介绍如何将Activiti连接达梦数据库,实现工作流的正常运行。 1. 环境准备 在开始连接达梦数据库之前,需要先准备好开发环境。包括安装好JDK、IDEA、Maven等工具。同时,需要下载达梦数据库的驱动程序,并将...

    Activiti工作流数据库表结构说明

    ### Activiti工作流数据库表结构说明 #### 一、数据库表名说明 Activiti工作流引擎作为一款开源的业务流程管理(Business Process Management, BPM)框架,为开发人员提供了强大的流程设计、部署、运行和监控等功能...

    activiti工作流学习总结

    ### Activiti工作流学习总结 #### 一、Activiti学习资源汇总 - **官方网站**: 提供了Activiti的最新版本信息、文档和技术支持等。地址为:[http://www.activiti.org/](http://www.activiti.org/) - **下载页面**: ...

    activiti5.22工作流连接达梦jar

    标题中的“activiti5.22工作流连接达梦jar”揭示了本次讨论的核心内容,即Activiti工作流引擎在5.22版本下与达梦数据库的集成问题。Activiti是一个开源的工作流程和业务自动化引擎,广泛应用于企业级应用中,提供...

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

    Activiti工作流数据库表结构是Activiti工作流引擎的核心组件之一,用于存储工作流相关的数据。在Activiti 6.0.0版本中,工作流数据库表结构共有16个表,每个表都有其特定的作用和功能。 1. ACT_EVT_LOG表:记录...

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

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

    Activiti工作流数据库表结构

    Activiti 是一个开源的工作流引擎,它用于自动化业务流程。在使用Activiti时,了解其数据库表结构至关重要,因为这些表存储了流程定义、运行时数据以及历史信息。以下是主要的Activiti数据库表及其功能的详细说明: ...

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

    总结,配置Activiti 6.0工作流并与MySQL 8.0集成是一项技术含量较高的任务,涉及到了流程设计、数据库管理、Java编程等多个方面。通过深入学习和实践,我们可以充分利用Activiti的强大功能,构建高效、灵活的企业级...

    Activiti工作流示例Activiti Demo(带完整源码)非常实用

    Activiti是一款开源的工作流引擎,它基于模型驱动的架构(MDA),专为现代企业应用程序设计,用于处理业务流程自动化。这个"Activiti工作流示例Activiti Demo"提供了完整的源代码,帮助开发者深入理解并实际操作...

    activiti工作流(超详细)

    activiti工作流文档,超详细,从0基础开始入门,包括数据库介绍、核心api等介绍,满足日常开发所需

Global site tag (gtag.js) - Google Analytics