flowable FormEngine和FormEngineConfiguration

Posted teamlet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flowable FormEngine和FormEngineConfiguration相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Flowable入门系列文章67 - 表单定义

类中的错误二维向量类初始化

Flowable基本使用介绍和Flowable数据库表解释

Flowable开源版和Flowable商业版有什么区别?

工作流Flowable和Camunda的学习之路

工作流Flowable和Camunda的学习之路