Process Engine API和服务
API是与Flowable进行交互的最常见的方式. 最主要的就是 ProcessEngine, 从 ProcessEngine 中, 您可以获取包含工作流程/BPM方法的各种服务.
ProcessEngine和服务对象是线程安全的, 所以你可以保留对整个服务器的引用.
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
RepositoryService repositoryService = processEngine.getRepositoryService();
TaskService taskService = processEngine.getTaskService();
ManagementService managementService = processEngine.getManagementService();
IdentityService identityService = processEngine.getIdentityService();
HistoryService historyService = processEngine.getHistoryService();
FormService formService = processEngine.getFormService();
DynamicBpmnService dynamicBpmnService = processEngine.getDynamicBpmnService();
ProcessEngines.getDefaultProcessEngine() 将在第一次被调用时初始化和构建流程引擎, 并且总是返回相同的流程引擎. 正确创建和关闭所有流程引擎可以使用ProcessEngines.init()和完成ProcessEngines.destroy().
该 ProcessEngines 类将扫描所有 flowable.cfg.xml 和 flowable-context.xml 文件. 对于 flowable.cfg.xml 文件, 流程引擎将以典型的Flowable方式构建:
ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(inputStream).buildProcessEngine()
对于所有的 flowable-context.xml 文件, 流程引擎都是以Spring的方式构建的: 首先创建Spring应用程序上下文, 然后从该应用程序上下文获取流程引擎.
该 RepositoryService 引擎工作时所需要的第一个服务. 这项服务提管理流程仓库,例如部署,删除,读取流程资源等.
deployment 是Flowable引擎内的包装单位. deployment 可以