activiti配置类总结

项目地址:activiti-workflow
activiti提供的配置类说明
在这里插入图片描述

  1. EngineServices:该接口中定义了获取各种服务类实例对象的方法。
  2. ProcessEngine:继承EngineServices接口, 并增加了对流程引擎名称的获取以及关闭流程引擎的支持。
  3. ProcessEngineImpl:对ProcessEngine接口中定义的方法进行实现。
  4. Process Engines:该类负责管理所有的流程引擎ProcessEngine集合, 并负责流程引擎实例对象的注册、获取、注销等操作。
    5)ProcessEngineConfiguration:该抽象类实现EngineService b接口, 提供了一系列创建流程引擎配置ProcessEngineConfiguration实例对象的方法。
    6) ProcessEngineConfigurationImpl, 该抽象类继承ProcessEngineConfiguration, 负责创建一系列服务类实例对象、流程引擎实例对象以及ProcessEngineImpl类实例对象。该类可以通过流程配置文件交给Spring容器管理或者使用编程方式动态构造。
    7) SpringProcessEngineConfiguration:主要用于整合Spring框架时使用, 提供几个重要功能:创建流程引擎实例对象,流程引擎启动之后自动部署配置的流程文档(需要设置),设置流程引擎连接的数据源、事务管理器等。
  5. StandaloneProcessEngineConfiguration:标准的流程引擎配置类。
  6. MultiSchemaMultiTenantProcessEngineConfiguration:“多数据库多租户”流程引擎配置类, Activit通过此类为开发人员提供了自动路由机制, 这样当流程引擎需要连接多个数据库进行操作时,客户端无须关心引擎到底连接的是哪一个数据库,该类通过路由规则自动选择需要操作的数据库,数据库的操作对客户端来说是透明的,客户端无须关心其内部路由实现机制。
  7. JtaProcessEngineConfiguration:顾名思义, 通过类名也知道该类支持JTA.
  8. StandaloneInMemProcessEngineConfiguration, 该类通常可以在开发环境中自测使用,默认采用H2数据库存储数据。
  9. EngineServices提供的服务类如下
    • RepositoryService:提供一系列操作流程定义的方法。
    • RuntimeService:提供一系列操作流程实例的方法。
    • Form Service:提供一系列操作流程表单的方法。
    • Task Service:提供一系列操作任务的方法, 例如任务的完成、挂起、激活、添加处理人、认领、删除等操作。
    • History Service:提供一系列查询历史流程实例、历史变量、历史任务的方法。
    • Identity Service:提供一系列操作用户或者组的方法。
    • Management Service:提供查询数据库表中的数据、表的元数据以及执行命令等方法。
    在ProcessEngineConfigurationImpl中,buildProcessEngine方法会调用init() 方法初始化ProcessEngineConfigurationImpl实例对象的各种属性
    • initConfigurators() ; //初始化配置器
    • configuratorsBeforeInit() ; //调用配置器的before In it方法
    • initProcessDiagramGenerator() ; //初始化流程图片生成器
    • initHistoryLevel() ; //初始化历史记录归档级别, 默认为AUDIT级别
    • initExpressionManager() ; //初始化表达式管理器
    • initDataSource() ; //初始化数据源
    • initVariable Types() ; //初始化变量类型
    • initBeans() ; //初始化可以管理的bean
    • initFormEngines() ; //初始化表单引擎
    • initFormTypes() ; //初始化表单类型
    • initScripting Engines() ; //初始化脚本引擎
    • initClock() ; //初始化时间类,主要负责提供设置当前时间等
    • initBusinessCalendarManager() ; //初始化日期管理器
    • initCommandContextFactory() ; //初始化命令上下文工厂
    • initTransactionContextFactory() ; //初始化事务上下文工厂
    • initCommandExecutors() ; //初始化命令执行器
    • initServices() ; //为各种服务类对象, 比如repositoryService设置命令执行器
    • in it Id Generator() ;//初始化 id 生成器
    • initDeployers() ;//初始化部署器
    • initJobHandlers() ;//始化定时处理类
    • initJobExecutor() ;//初始化定时任务执行器
    • initAsyncExecutor() ;//初始化异步执行器
    • initTransactionFactory() ;//初始化事务工厂
    • initSqlSessionFactory() ;//初始化 Sql Session 工厂
    • initSessionFactories() ;//初始化 Session 工厂
    • initJpa() ;//初始化 JPA
    • initDelegateInterceptor() ;//负责处理拦截器默认实现类(拦截监听器或者表达式)
    • initEvent Handlers() ;//初始化事件处理类
    • initFailedJobCommandFactory() ;//初始化失败命令工厂
    等等。
    流程配置
    在Spring boot项目中只需实现ProcessEngineConfigurationConfigurer实现configure方法,根据需求设置属性
@Component
public class WorkflowConfigurationConfigurer implements ProcessEngineConfigurationConfigurer {
   
    @Autowired
    private DataSource dataSource;
    
    /**
    * 实现ActivitiEventListener
    */
    @Autowired
    private WorkflowEventListener workflowEventListener;
    @Override
    public void configure(SpringProcessEngineConfiguration processEngineConfiguration) {
   
        //配置全局监听器
        List<ActivitiEventListener> eventListeners =new ArrayList<>();
        eventListeners.add(workflowEventListener);
        processEngineConfiguration
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值