1.流程引擎配置类
流程引擎配置类的工作方式:
流程引擎配置类读取activiti.cfg.xml文件中的配置信息,由配置对象完成流程引擎的构建,通过流程引擎获取到不同的service。
2.流程引擎配置类(ProcessEngineConfiguration)的作用
ProcessEngineConfiguration-->
- 查找并解析xml配置文件activiti.cfg.xml
- 提供多个静态方法创建配置对象
- 实现几个基于不同场景的子类,配置方式非常灵活
(1)解析xml配置文件--activiti.cfg.xml
基于内存数据库创建流程引擎id为processEngineConfiguration,类为StandaloneProcessEngineConfiguration。
(2)提供的静态方法创建配置对象
默认的路径加载一个资源,构建ProcessEngineConfiguration对象
第二个配置文件不方便放在根目录,可以指定一个包结构或目录下面;第三个有两个String,第一个Sting为配置文件的路径,第二个String为在spring的配置文件中修改ID类型或id名称。
(3)实现基于不同场景的子类,配置方式灵活
SpringProcessEngineConfiguration位于activiti-spring模块下面,继承自ProcessEngineConfigurationImpl,实现了ApplicationContextAware。该类完成了Spring对其的一个扩展,如数据源扩展,事务的扩展等。
ProcessEngineConfigurationImpl是一个抽象的类
3.流程引擎配置类创建配置对象
package com.syc.activiti.config;
import org.activiti.engine.ProcessEngineConfiguration;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class configTest {
private static final Logger LOGGER = LoggerFactory.getLogger(configTest.class);
@Test
public void testConfig1(){
//基于Spring的xml解析出来的,默认创建的为基于内存的独立的流程引擎配置对象
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResourceDefault();
LOGGER.info("configuration={}", configuration);
}
@Test
public void testConfig2(){
//纯粹地创建一个流程引擎配置对象
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration();
LOGGER.info("configuration={}", configuration);
}
}
运行结果: