AppContext.setCurrent(context);
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(); } }