FormEngineConfiguration 继承自 AbstractEngineConfiguration。

一、获得实例

FormEngineConfiguration提供了7个公开的静态方法:

其中5个用于Spring环境下,2个用于独立运行Standalone模式。

Standalone模式代码如下:

public static FormEngineConfiguration createStandaloneFormEngineConfiguration() {
        return new StandaloneFormEngineConfiguration();
    }

    public static FormEngineConfiguration createStandaloneInMemFormEngineConfiguration() {
        return new StandaloneInMemFormEngineConfiguration();
    }

二、创建FormEngine

FormEngineConfiguration提供buildFormEngine()方法创建FormEngine实例。

public FormEngine buildFormEngine() {
        init();
        return new FormEngineImpl(this);
    }

三、初始化服务

FormEngineConfiguration包含三个属性,是三个服务类。

protected FormManagementService formManagementService = new FormManagementServiceImpl();
    protected FormRepositoryService formRepositoryService = new FormRepositoryServiceImpl();
    protected FormService formService = new FormServiceImpl();

在创建FormEngine的buildFormEngine()中,init()方法实现了对这些服务的初始化赋值。

protected void init() {
...
initServices();
...
}

 protected void initServices() {
        initService(formManagementService);
        initService(formRepositoryService);
        initService(formService);
    }

    protected void initService(Object service) {
        if (service instanceof ServiceImpl) {
            ((ServiceImpl) service).setCommandExecutor(commandExecutor);
        }
    }

初始化过程是将 FormEngineConfiguration父类的CommandExecutor 传递给这三个服务类。

这三个服务类初始化后封装了CommandExecutor,通过FormEngineConfiguration传递给 FormEngine。

与前面的ContentEngineConfiguration和DmnEngineConfiguration类似,FormEngineConfiguration中的这些服务也是继承了 ServiceImpl 类。

flowable FormEngine和FormEngineConfiguration的更多相关文章

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

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

  2. flowable EngineConfiguration的实现分析(2)

    EngineConfiguration的实现类是一个抽象类:AbstractEngineConfiguration 一.引擎配置的分类 继承 AbsractEngineConfiguration的子类 ...

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

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

  4. Flowable实战(五)表单和流程变量

    一.流程变量   流程实例按步骤执行时,需要保存并使用一些数据,在Flowable中,这些数据称为变量(variable).   流程实例可以持有变量,称作流程变量(process variables ...

  5. RxJava2出现:Unable to create call adapter for io.reactivex.Flowable

    前面一直使用的是Rxjava 1.x 版本,最近 Rxjava 2.x 版本发布了,并且支持了背压,便换成了 Rxjava 2.x 版本.更换之后出现了下面的错误. Caused by: java.l ...

  6. flowable设计器插件安装

    原文地址:http://www.shareniu.com/ 工欲善其事必先利其器,要想使用flowable,必须搭建一套环境,本文以Eclipse中安装flowable插件为例详细说明整个安装过程. ...

  7. 工作流引擎 Flowable 6.0.0.RC1 release,完全兼容Activi

    Flowable 6.0.0.RC1 release,第一个可流动的6引擎版本(6.0.0.RC1). Flowable 6.0.0.RC1 relase新增加的功能以及特色: 包重命名为org.Fl ...

  8. 工作流程引挈 https://www.flowable.org/

    工作流程引挈 :   https://www.flowable.org/ 起源:JBPM,Activiti

  9. Android RxJava 2 的用法 just 、from、map、subscribe、flatmap、Flowable、Function、Consumer ...【转】

    先简单说说RxJava的用途与价值 原文出处:Android RxJava 2 的用法 用途: 异步 (也就是开线程跳转) 价值: 面对复杂的逻辑,它依然 简洁 ,代码 易读 RxJava2 与 Rx ...

随机推荐

  1. maven-surefire-plugin

    本文参考自:https://www.cnblogs.com/qyf404/p/5013694.html surefire是maven里执行测试用例(包括testNG,Junit,pojo)的插件,他能 ...

  2. DATETIME与TIMESTAMP

    DATETIME与TIMESTAMP都能表达一个完整的日期格式:YYYY-MM-DD HH:MM:SS[.fraction] eg: mysql> create table test(id in ...

  3. 20145307第五次JAVA学习实验报告

    20145307<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 实验名 ...

  4. 20145314郑凯杰 《Java程序设计》第3周学习总结

    20145314郑凯杰 <Java程序设计>第3周学习总结 所有代码均已托管 地址https://git.oschina.net/qiaokeli26/codes 按照下面程序结果中的代码 ...

  5. 20145321 《Java程序设计》第6周学习总结

    20145321 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入输出 10.1 InputStream OutputStream 1.数据有来源与目的,衔接两者的是串流 ...

  6. sbt安装与配置

    下载地址:http://www.scala-sbt.org/download.html 当前版本:sbt-0.13.13.tgz 安装 1.解压并赋予权限 [root@hidden util]# ta ...

  7. 转载 - POJ分类很好很有层次感

    from http://blog.csdn.net/zzycsx/article/details/49103451 OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2 ...

  8. hdu 1241 搬寝室 水dp

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem Desc ...

  9. authentication vs authorization 验证与授权的区别

    认证和授权的区别 Authentication vs. Authorization简单来说,认证(Authentication )是用来回答以下问题: 用户是谁 当前用户是否真的是他所代表的角色 通常 ...

  10. ajax实现用户注册

    需求分析 页面中给出注册表单: 在username input标签中绑定onblur事件处理函数. 当input标签失去焦点后获取 username表单字段的值,向服务端发送AJAX请求: djang ...