flowable IdmEngine和IdmEngineConfiguration
Posted teamlet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flowable IdmEngine和IdmEngineConfiguration相关的知识,希望对你有一定的参考价值。
IdmEngineConfiguration 继承了 AbstractEngineConfiguration。
一、创建EngineConfiguration实例
IdmEngineConfiguration 提供7个公共的静态方法用于创建自身的实例。
其中用于Spring环境下的有5个,用于Standalone环境下的有2个。
Standalone环境下的创建代码如下:
public static IdmEngineConfiguration createStandaloneIdmEngineConfiguration()
return new StandaloneIdmEngineConfiguration();
public static IdmEngineConfiguration createStandaloneInMemIdmEngineConfiguration()
return new StandaloneInMemIdmEngineConfiguration();
二、创建 IdmEngine
IdmEngineConfiguration提供创建IdmEngine的buildIdmEngine()方法:
public IdmEngine buildIdmEngine()
init();
return new IdmEngineImpl(this);
三、初始化服务
在init()方法中,初始化引擎中用到的服务。
protected void init()
...
initServices();
...
protected void initServices()
initService(idmIdentityService);
initService(idmManagementService);
protected void initService(Object service)
if (service instanceof ServiceImpl)
((ServiceImpl) service).setCommandExecutor(commandExecutor);
这些服务定义在IdmEngineConfiguration中:
protected IdmIdentityService idmIdentityService = new IdmIdentityServiceImpl();
protected IdmManagementService idmManagementService = new IdmManagementServiceImpl();
这些服务经过init()初始化后,通过IdmEngineConfiguration传入IdmEngine实例。
init()初始化时,将AbstractEngineConfiguration的属性CommandExecutor 传递给这些服务。
这些服务有一个公共的父类 ServiceImpl
ServiceImpl 包含一个CommandExecutor类型的属性。
这些服务通过代理模式,封装CommandExecutor完成服务中方法的具体行为的实现。
以上是关于flowable IdmEngine和IdmEngineConfiguration的主要内容,如果未能解决你的问题,请参考以下文章