2019独角兽企业重金招聘Python工程师标准>>>
Activiti中的ProcessEngine是线程安全的类,可以被多个线程共享。在web项目中,容器启动,初始化流程引擎,容器关闭,流程引擎也会被销毁。
在web项目中添加一个简单的ServletContextListener
,代码如下:
public class ProcessEnginesServletContextListener implements ServletContextListener {
public void contextInitillized(ServletContextEvent servletContextEvent){
ProcessEngines.init();
}
public void contextDestoryed(ServletContextEvent servletContextEvent){
ProcessEngines.destory();
}
}
contextInitialized
方法会委派给ProcessEngines.init()
。该方法会去classpath下去查找配置文件activiti.cfg.xml
,并根据配置文件创建一个ProcessEngine
。如果存在多个配置文件,确保这些文件不重名,这样就可以根据名称创建ProcessEngine
。
ProcessEngines.getDefaultProcessEngine()
or
ProcessEngines.getProcessEngine("myName"):
contextDestoryed
方法会委派给ProcessEngines.destory()
方法。destory()方法会关闭所有初始化了的process engine。