2023年8月1日发(作者:)
activiti学习笔记(三)监听⽣命周期activiti监听⽣命周期activiti⽣命周期的作⽤⽣命周期的作⽤是在构建processEngine实例时候或者关闭的时候调⽤对应处理⽅法,⽐如我在启动实例的时候,可以对实例做⼀些预处理activiti的接⼝类public interface ProcessEngineLifecycleListener { /**实体引擎实例化的时候调⽤该⽅法*/ void onProcessEngineBuilt(ProcessEngine processEngine); /**实体引擎关闭的时候调⽤该⽅法*/ void onProcessEngineClosed(ProcessEngine processEngine);}activiti的⽣命周期的实现 ⾸先通过bean进⾏实例化,再注⼊到当前bean,具体监听则是在构建实例和关闭实例的时候 构建实例:会调⽤监听类的onProcessEngineBuilt⽅法 /** * @author 郑⼩康 * * 1.注⼊流程配置实例的⼀些变量到当前实例 * * :未知 * * 3.注册当前流程实例 * * :未知 * * 5.调⽤监听⽅法,这也是这⾥需要描述的核⼼(不是本⽅法的核⼼) * */ public ProcessEngineImpl(ProcessEngineConfigurationImpl processEngineConfiguration) { sEngineConfiguration = processEngineConfiguration; = cessEngineName(); toryService = ositoryService(); eService = timeService(); icDataService = toryService(); tyService = ntityService(); rvice = kService(); rvice = mService(); mentService = agementService(); cBpmnService = amicBpmnService(); xecutor = ncExecutor(); dExecutor = mandExecutor(); nFactories = sionFactories(); ctionContextFactory = nsactionContextFactory(); gineRepositoryService = mEngineRepositoryService(); gineFormService = mEngineFormService(); if (gRelationalDatabase() && abaseSchemaUpdate() != null) { e(emaCommandConfig(), new SchemaOperationsProcessEngineBuild()); } if (name == null) { ("default activiti ProcessEngine created"); } else { ("ProcessEngine {} created", name); } erProcessEngine(this); if (asyncExecutor != null && Activate()) { (); } //流程引擎实例化监听⽅法 if (cessEngineLifecycleListener() != null) { cessEngineLifecycleListener().onProcessEngineBuilt(this); } ntDispatcher().dispatchEvent(GlobalEvent(_CREATED)); } 关闭实例会调⽤onProcessEngineClosed⽅法 public void close() { ster(this); if (asyncExecutor != null && ve()) { wn(); } e(emaCommandConfig(), new SchemaOperationProcessEngineClose()); //流程引擎关闭触发监听⽅法 if (cessEngineLifecycleListener() != null) { cessEngineLifecycleListener().onProcessEngineClosed(this); }
ntDispatcher().dispatchEvent(GlobalEvent(_CLOSED)); }activiti⽣命周期的使⽤上⾯是⽣命周期的源码实现介绍,下⾯就讲述⼀下怎样使⽤第⼀步:实现ProcessEngineLifecycleListener这个接⼝public class processEngineLifecycleListener implements ProcessEngineLifecycleListener{ public void onProcessEngineBuilt(ProcessEngine processEngine) { n("流程引擎⽣命周期监听器开始了...."); ProcessEngineConfiguration pec = cessEngineConfiguration(); String activityFontName = ivityFontName(); n(activityFontName); } public void onProcessEngineClosed(ProcessEngine processEngine) {
}}第⼆步:配置当前processEngineLifecycleListener这个bean并将其注⼊processEngineConfiguration⾥⾯
@Test public void getDefaultProcessEngine() throws FileNotFoundException { ProcessEngine pe = rocessEngine(); n(pe+"========"); } ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfigurationFromResource("com/activiti_study/c流程引擎⽣命周期监听器开始了....sEngineImpl@4b29d1d2======== 从显⽰结果可以看出在调⽤buildProcessEngine⽅法的时候调⽤了ProcessEngineLifecycleListener继承类的onProcessEngineBuilt⽅法
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690872481a451850.html
评论列表(0条)