Activiti 数据库表创建、更新策略的配置

来源:互联网 发布:雅马哈 yas152 知乎 编辑:程序博客网 时间:2024/06/07 07:05

  

 

    Activiti 引擎启动时默认会检测数据库版本与程序版本是否相符,不相符就会抛出异常停止引擎的初始化。这一策略可以通过引擎的初始化配置参数databaseSchemaUpdate来控制,如下图的spring配置文件说明:
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">  ......  <!-- activiti数据表构建策略控制:(见DbSqlSession.performSchemaOperationsProcessEngineBuild方法)   false - 默认,引擎启动时检测数据库版本是否相符,不符就抛异常;   true - 引擎启动时升级数据表;   create - 引擎启动时创建表;   create-drop - 引擎启动时创建表、关闭时删除表;   drop-create - 引擎启动时先删除表再重新创建表  -->  <property name="databaseSchemaUpdate" value="false" />   <!-- 历史的配置:   none - 忽略所有历史归档;   acitivity - 存档所有的流程实例和活动实例,不存档细节;   audit - 默认,存档所有的流程实例、活动实例以及提交的表单属性,以便通过表单进行的用户交互可被追溯和查证;   full - 这是历史归档的最高级别,因此执行时最慢,这一级别存储了所有在 audit 中存储的信息,以及其它所有可能的细节如流程变量的更新  -->  <property name="history" value="full" /> </bean>
    要注意的是当配置为databaseSchemaUpdate="false"时,必须在数据表中插入如下一条数据:
insert into ACT_GE_PROPERTY values ('historyLevel', '3', 1);
所插入数据的值要与上面配置文件中history属性的配置值相符,如果不符引擎初始化时就会抛出异常