activiti学习笔记(十六)流程引擎配置

流程引擎类的配置

activiti学习笔记(十六)流程引擎配置_第1张图片
流程引擎配置类的作用

流程引擎配置xml

activiti学习笔记(十六)流程引擎配置_第2张图片
流程引擎配置xml

流程引擎配置类及其子类

ProcessEngineConfiguration是一个抽象类,他的实现类在idea中可以使用control+H的快捷键获取到:


activiti学习笔记(十六)流程引擎配置_第3张图片
屏幕快照 2018-09-22 上午11.31.20.png

创建流程引擎配置对象

activiti学习笔记(十六)流程引擎配置_第4张图片
创建流程引擎配置对象

数据库配置

activiti学习笔记(十六)流程引擎配置_第5张图片
屏幕快照 2018-09-22 上午11.44.01.png
activiti学习笔记(十六)流程引擎配置_第6张图片
屏幕快照 2018-09-22 上午11.45.47.png
activiti学习笔记(十六)流程引擎配置_第7张图片
屏幕快照 2018-09-22 上午11.47.08.png
屏幕快照 2018-09-22 上午11.49.04.png
屏幕快照 2018-09-22 上午11.49.41.png

示例

如果我们使用了默认的H2数据库,那么创建流程引擎方式为:

ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
        ProcessEngine processEngine = cfg.buildProcessEngine();
        String name = processEngine.getName();

其中创建方法实现如下:

public static ProcessEngineConfiguration createStandaloneInMemProcessEngineConfiguration() {
    return new StandaloneInMemProcessEngineConfiguration();
  }
public StandaloneInMemProcessEngineConfiguration() {
    this.databaseSchemaUpdate = DB_SCHEMA_UPDATE_CREATE_DROP;
    this.jdbcUrl = "jdbc:h2:mem:activiti";
  }

从实现中可以看出这个方法的确是使用H2数据库实现持久化的,另外this.databaseSchemaUpdate = DB_SCHEMA_UPDATE_CREATE_DROP;这句设置表示相关表结构在流程引擎创建时自动建立,结束时自动销毁。当然这种方式并不适合于生产情况,而使用于单元测试中。

当然创建流程引擎的方法有很多种,查看流程引擎配置类源码如下:


activiti学习笔记(十六)流程引擎配置_第8张图片
屏幕快照 2018-09-22 下午12.35.13.png

如果我们使用

createProcessEngineConfigurationFromResource(String resource, String beanName)

需要传入配置xml名称和配置类名,默认配置文件在/src/main/source/目录下,比如此处建立一个activiti-cfg.xml文件,并且内部配置的bean名称为processEngineConfiguration,实现如下:

  
  
    
      
      
      
      
      
    
  

使用配置文件的优点就在于可以直观的配置我们想要的数据库连接和各种相关配置。

上述示例配置使用的是默认的mybatis数据库连接池,如果想使用其他的连接池,只需要修改配置如下:

 
    

  
      
      
      
      
  

这样就可以在dataSource在这个连接池配置中配置连接数等信息了。
添加了activiti.cfg.xml文件后,就可以使用如下的方式实例化流程引擎配置类了:

ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");

你可能感兴趣的:(activiti学习笔记(十六)流程引擎配置)