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、引擎配置实现类

后面逐一分析。

flowable EngineConfiguration的实现分析(2)的更多相关文章

  1. flowable EngineConfiguration的作用和继承关系(1)

    EngineConfiguration 是flowable引擎的核心部件. 在 flowable 中,实现引擎配置的顶层类是 AbstractEngineConfiguration 这是一个抽象类. ...

  2. flowable与camunda性能测试对比分析

    前言 目前主流的Java开源流程引擎有Activiti.Flowable.Camunda,笔者在进行流程引擎技术选型时,除了功能方面,性能和稳定性是尤其关注的指标,是选择Flowable?还是Camu ...

  3. RxJava2 源码分析

    前言 很多项目使用流行的Rxjava2 + Retrofit搭建网络框架,Rxjava现在已经发展到Rxjava2,之前一直都只是再用Rxjava,但从来没有了解下Rxjava的内部实现,接下来一步步 ...

  4. flowable 五个引擎和组成引擎的服务

    一.flowable的五个引擎 flowable包含五个引擎,分别是: 1.内容引擎 ContentEngine 2.身份识别引擎 IdmEngine 3.表单引擎 FormEngine 4.决策引擎 ...

  5. Activiti架构分析及源码详解

    目录 Activiti架构分析及源码详解 引言 一.Activiti设计解析-架构&领域模型 1.1 架构 1.2 领域模型 二.Activiti设计解析-PVM执行树 2.1 核心理念 2. ...

  6. 工作流选型专项,Camunda or flowable or?

    1. 名词解释 1.1. BPM Business Process Management,业务流程管理,“通过建模.自动化.管理和优化流程,打破跨部门跨系统业务过程依赖,提高业务效率和效果”. 1.2 ...

  7. flowable流程启动时监听器

    一.核心配置类 package com.magus.project.flow.config; import com.google.common.collect.Maps; import com.mag ...

  8. 【流程】Flowable流程定义总结

    背景 近几年,互联网企业从消费互联网向产业互联网转型.在消费互联网时期,企业面对的时C端消费者,而产业互联网面对的是B端用户. 产业互联网涉及方方面面,企业信息化的建设就是B端用户的业务之一,在企业就 ...

  9. Java安全之Axis漏洞分析

    Java安全之Axis漏洞分析 0x00 前言 看到个别代码常出现里面有一些Axis组件,没去仔细研究过该漏洞.研究记录一下. 0x01 漏洞复现 漏洞版本:axis=<1.4 Axis1.4 ...

随机推荐

  1. 20145310第一周JAVA实验报告

    20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  2. 20145331 《Java程序设计》第3周学习总结

    20145331 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 •对象(Object):存在的具体实体,具有明确的状态和行为 •类(Class):具有相同属性和行 ...

  3. Linux安装ftp组件vsftpd

    1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install vsftpd 2 添 ...

  4. IE兼容性视图,新增元素导致白页面

    环境:     浏览器:IE8/9浏览器[兼容性视图]     doctype:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit ...

  5. Oracle18c创建不带C##的用户

    18c数据库分两种数据库CDB(容器数据库).PDB(可插拔数据库) 数据库安装完成之后,默认是CDB 创建一个用户,必须要用C##开头,但使用PDB没有这个限制 1. 先查看PDB数据库servic ...

  6. 【ML数学知识】极大似然估计

    它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现 ...

  7. Linux基础知识点

    1.目录结构 bin 存放二进制可执行文件(ls,cat,mkdir等) boot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc 存放系统配置文件 home 存放所有用户文件的根 ...

  8. less文件的运行

    例:在任意处创建一个.less文件,比如在桌面2017.06.28文件中创建了一个main.less文件,然后通过命令行编译main.less,步骤: win+R,cmd打开命令面板,切换到main. ...

  9. C#显示接口实现和隐式接口实现

    在项目中可能会遇到显示接口实现和隐式接口实现.什么意思呢?简单来说使用接口名作为方法名的前缀,这称为“显式接口实现”:传统的实现方式,称为“隐式接口实现”.隐式接口实现如下: interface IS ...

  10. iOS中的二维数组

    首先我们知道OC中是没有二维数组的,二维数组是通过一位数组的嵌套实现的,但是别忘了我们有字面量,实际上可以和C/C++类似的简洁地创建和使用二维数组.这里总结了创建二维数组的两种方法以及数组的访问方式 ...