activiti流程引擎配置

2020-05-26  本文已影响0人  lv_shun

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属性有三个值:

设置databaseType配置

可以设置数据库类型

其他配置

history配置

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

asyncExecutorActivate配置

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

上一篇 下一篇

猜你喜欢

热点阅读