美文网首页
activiti流程引擎配置

activiti流程引擎配置

作者: lv_shun | 来源:发表于2020-05-26 22:21 被阅读0次

ProcessEngineConfiguration 流程引擎配置对象

ProcessEngineConfiguration代表activiti全部配置的对象.该对象提供了一系列创建ProcessEngineConfiguration实例的静态方法.这些方法用于读取和解析相应的配置文件,并返回实例.

读取默认配置的配置文件

ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();

使用默认方式创建配置实例.
底层实现

    public static ProcessEngineConfiguration createProcessEngineConfigurationFromResourceDefault() {
        return createProcessEngineConfigurationFromResource("activiti.cfg.xml", "processEngineConfiguration");
    }

通过classpath根目录下的activiti.cfg.xml来创建processEngineConfiguration实例.其中xml解析和bean的创建由spring来完成.

自定义配置文件

ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("my_activiti.xml");

在根目录定义my_activiti.xml,然后使用自定义的xml来创建processEngineConfiguration实例.

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&amp;characterEncoding=utf8" />
        <property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver" />
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="xxx" />
    </bean>

自定义xml同时可以自定义bean名称.

   public static ProcessEngineConfiguration createProcessEngineConfigurationFromResource(String resource, String beanName) {
        return BeansConfigurationHelper.parseProcessEngineConfigurationFromResource(resource, beanName);
    }

文件流方式加载配置

ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(InputStream xx);

使用StandaloneProcessEngineConfiguration方式

public static ProcessEngineConfiguration createStandaloneProcessEngineConfiguration() {
        return new StandaloneProcessEngineConfiguration();
    }

设置默认this.databaseSchemaUpdate = false ,this.jdbcUrl = jdbc:h2:tcp://localhost/~/activiti

使用createStandaloneInMemProcessEngineConfiguration方式

ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
       

属于StandaloneProcessEngineConfiguration子类,
这种方式是不需要任何配置文件,底层返回StandaloneInMemProcessEngineConfiguration这个类,默认设置了数据配置和jdbcurl。

public class StandaloneInMemProcessEngineConfiguration extends StandaloneProcessEngineConfiguration {
    public StandaloneInMemProcessEngineConfiguration() {
        this.databaseSchemaUpdate = "create-drop";
        this.jdbcUrl = "jdbc:h2:mem:activiti";
    }
}

数据源配置

activiti默认是h2数据库。同时支持MySQL、Oracle、postagesql、DB2等数据库。

jdbc配置

    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&amp;characterEncoding=utf8" />
        <property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver" />
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="xxx" />
    </bean>

DBCP数据源配置

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="url" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&amp;characterEncoding=utf8" />
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
        <property name="username" value="root" />
        <property name="password" value="123456" />
    </bean>

    <bean id="processEngineConfiguration1" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <property name="dataSource" ref="dataSource"/>
    </bean>

C3P0数据源配置


    <bean id="dataSource2" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&amp;characterEncoding=utf8" />
        <property name="driverClass" value="com.mysql.cj.jdbc.Driver" />
        <property name="user" value="root" />
        <property name="password" value="123456" />
    </bean>


    <bean id="processEngineConfiguration2" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <property name="dataSource" ref="dataSource2"/>
    </bean>

activiti数据库策略配置

就是启动和结束时如何处理数据库。
ProcessEngineConfiguration.dataSchemaUpdate属性有三个值:

  • false: 默认值,启动时比对数据库中的表和版本,如果不存在表或者版本不一致则报错,适用于正式环境。
  • true:设置之后,数据库中表会更新,如果不存在表则会创建。适用于开发环境。
  • create-drop或者(drop-create): activiti启动时创建表,结束时删除表,适用于单元测试。

设置databaseType配置

可以设置数据库类型

  • h2
  • mysql
  • oracle
  • postgres
  • mysql
  • db2

其他配置

history配置

db-history-used 在springboot整合activiti7时,这个属性是配置是否使用历史表,如果设置true,则会创建历史相关表,否则不创建。默认为false。
history配置有几种级别:

  • none:不保存任何历史数据,在流程执行过程中,效率最高。
  • activity:保存流程实例和流程行为,其他数据不保存。
  • audit: 除了保存activity相关数据之外,还会保存流程任务及其属性配置,是默认级别。
  • full:最高级别,除了保存audit相关数据之外,还保存其他全部细节数据,包括流程参数等。

asyncExecutorActivate配置

配置异步执行器是否启动,默认为false,如果启动,会启动定时器扫描并执行各种工作,如果扫描到符合执行条件的工作,则会启动一条线程由线程池调用执行。

相关文章

网友评论

      本文标题:activiti流程引擎配置

      本文链接:https://www.haomeiwen.com/subject/yebfvqtx.html