Activiti 5.17 配置文件的加载过程

来源:互联网 发布:cctv直播软件下载 编辑:程序博客网 时间:2024/06/07 23:22

Activiti 5.17 使用Spring加载配置文件。


实现的方法在 org.activiti.engine.impl.cfg.BeansConfigurationHelper 类中。

 public static ProcessEngineConfiguration parseProcessEngineConfiguration(Resource springResource, String beanName) {    DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();    XmlBeanDefinitionReader xmlBeanDefinitionReader = new XmlBeanDefinitionReader(beanFactory);    xmlBeanDefinitionReader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD);    xmlBeanDefinitionReader.loadBeanDefinitions(springResource);    ProcessEngineConfigurationImpl processEngineConfiguration = (ProcessEngineConfigurationImpl) beanFactory.getBean(beanName);    processEngineConfiguration.setBeans(new SpringBeanFactoryProxyMap(beanFactory));    return processEngineConfiguration;  }  

首先用为 XmlBeanDefinitionReader 设置一个 BeanDefinitionRegistry 子类  DefaultListableBeanFactory ,作为 beanFactory ;

然后,用 XmlBeanDefinitionReader 加载 activiti.cfg.xml 引擎的配置文件;

从 beanFactory 中通过beanName 获得 processEngineConfiguration 的实例 (这里 beanName = "processEngineConfiguration"  参见前面文章中的 activiti.cfg.xml的内容),

并将 beanFactory 赋给 processEngineConfiguration。


这样,在 processEngineConfiguration 中就可以通过beanFactory直接获取配置文件中的bean。


Activiti 利用Spring 的几行代码,完成了类的配置、加载和获取操作。


0 0
原创粉丝点击