调用链

  1. SpringProcessEngineConfiguration.buildProcessEngine()
  2. ProcessEngineConfigurationImpl.buildProcessEngine()

buildProcessEngine中的操作总结可以分为3部分

init部分

这一部分当中,首先会创建Process Engine需要的组件,比如asyncExecutor,asyncHistoryExecutor等;

其次会检查数据库版本,根据配置的策略不同,执行不同的操作,比如策略为DB_SCHEMA_UPDATE_FALSE时,将检查数据库版本,如果版本不匹配,则抛出异常信息;检查数据库版本的代码是放在SchemaOperationsProcessEngineBuild中执行的

启动执行器

启动asyncJobAcquisitionThread

执行AcquireAsyncJobsDueRunnable的run方法, 该方法会查询出ACT_RU_JOB中待执行的Job

启动timerJobAcquisitionThread

执行AcquireTimerJobsRunnable的run方法

启动resetExpiredJobThread

执行ResetExpiredJobsRunnable的run方法

执行后置任务


水一水
39 声望5 粉丝

总结经验,提升自己