protected final void destroyAppContext(){ try{ if(null != beanFactory){ beanFactory.close(); } }finally{ if(null != servletContext){ servletContext.removeAttribute(AppContext.APP_CONTEXT_ATTRIBUTE); } AppContext.removeCurrent(); } }
AppContext.removeCurrent(); AppContextInitializer.initExternal( sc,
public void start(Global.LeapContext leap) { AppContext context = leap.context(); BeanFactory factory = leap.factory(); if(null == context) { log.error("Leap context not found, can not start jmms, is spring boot running at web environment?"); return; } try { AppContext.setCurrent(context); Engine engine = factory.getBean(Engine.class); if(engine.isStarted()) { log.info("Engine already started, skip"); return; } try { resolveSpringMappings(factory); } catch (RuntimeException e) { log.error("Resolve spring mapping info error", e); } engine.addInternalListener(this); engine.start(); started = true; }catch (Throwable e) { throw Exceptions.uncheck(e); }finally { AppContext.removeCurrent(); } }