1. 程式人生 > >flowable EngineConfiguration的實現分析(2)

flowable EngineConfiguration的實現分析(2)

EngineConfiguration的實現類是一個抽象類:AbstractEngineConfiguration

一、引擎配置的分類

繼承 AbsractEngineConfiguration的子類實現不同方面的功能,包括:

1、身份管理引擎配置

2、表單引擎配置

3、決策引擎配置

4、內容引擎配置

5、流程引擎配置

下圖是除了流程引擎配置之外的4個引擎配置的繼承關係圖,流程引擎配置後面單獨介紹。

這裡寫圖片描述

二、具體實現

下面從自底向上的順序,分析一下程式碼:

1、StandaloneInMem 引擎配置

上圖最下面的四個類都是以 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";
    }

2、Standalone 引擎配置

Standalone 引擎配置是為了與Spring引擎配置區分而設定的。
實際上,Standalone 出了繼承父類之外,沒有增加任何其他的程式碼。

列舉如下:

public class StandaloneIdmEngineConfiguration extends IdmEngineConfiguration {

}
public class StandaloneFormEngineConfiguration extends FormEngineConfiguration {

}
public class StandaloneDmnEngineConfiguration extends DmnEngineConfiguration {

}
public class StandaloneContentEngineConfiguration extends ContentEngineConfiguration {

}

3、Spring 引擎配置

所有的Spring引擎配置都實現了Spring的 ApplicationContextAware 介面。
所有的Spring引擎配置,在後面例項執行時再詳細分析。

4、引擎配置實現類

後面逐一分析。