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