Activiti中的ProcessEngine是线程安全的类,能够被多个线程共享。在web项目中,容器启动,初始化流程引擎,容器关闭,流程引擎也会被销毁。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
。spa
ProcessEngines.getDefaultProcessEngine()
or线程
ProcessEngines.getProcessEngine("myName"):
contextDestoryed
方法会委派给ProcessEngines.destory()
方法。destory()方法会关闭全部初始化了的process engine。code