EngineConfiguration的实现类是一个抽象类:AbstractEngineConfiguration
继承 AbsractEngineConfiguration的子类实现不同方面的功能,包括:
下图是除了流程引擎配置之外的4个引擎配置的继承关系图,流程引擎配置后面单独介绍。
下面从自底向上的顺序,分析一下代码:
上图最下面的四个类都是以 StandaloneInMem 开始的类。这些类都是主要为了测试目的而存在的。
这些类默认使用 H2 作为引擎数据库。
而在这些类中,只有一句:
his.jdbcUrl = "jdbc:h2:mem:flowable";
这句赋值语句指定了h2数据库的 jdbc url 参数。
每个 StandaloneInMem 开始的类,只有一个构造方法。
每个类的构造方法列举如下:
public StandaloneInMemContentEngineConfiguration() { this.jdbcUrl = "jdbc:h2:mem:flowable"; }
public StandaloneInMemDmnEngineConfiguration() { setJdbcUrl("jdbc:h2:mem:flowable"); }
public StandaloneInMemFormEngineConfiguration() { this.jdbcUrl = "jdbc:h2:mem:flowable"; }
public StandaloneInMemIdmEngineConfiguration() { this.jdbcUrl = "jdbc:h2:mem:flowable"; }
Standalone 引擎配置是为了与Spring引擎配置区分而设置的。
实际上,Standalone 出了继承父类之外,没有增加任何其他的代码。
列举如下:
public class StandaloneIdmEngineConfiguration extends IdmEngineConfiguration { }
public class StandaloneFormEngineConfiguration extends FormEngineConfiguration { }
public class StandaloneDmnEngineConfiguration extends DmnEngineConfiguration { }
public class StandaloneContentEngineConfiguration extends ContentEngineConfiguration { }
所有的Spring引擎配置都实现了Spring的 ApplicationContextAware
接口。
所有的Spring引擎配置,在后面实例运行时再详细分析。
后面逐一分析。