/** Actual stop */ private void internalStop() { state = ComponentStatus.STOPPING; removeShutdownHook(); List<PrioritizedMethod> stopMethods = new ArrayList<PrioritizedMethod>(componentLookup.size()); for (Component c : componentLookup.values()) stopMethods.addAll(c.stopMethods); Collections.sort(stopMethods); // fire all STOP methods according to priority for (PrioritizedMethod em : stopMethods) em.invoke(); destroy(); }
private void internalStart() throws CacheException, IllegalArgumentException { // start all internal components // first cache all start, stop and destroy methods. populateLifecycleMethods(); List<PrioritizedMethod> startMethods = new ArrayList<PrioritizedMethod>(componentLookup.size()); for (Component c : componentLookup.values()) startMethods.addAll(c.startMethods); // sort the start methods by priority Collections.sort(startMethods); // fire all START methods according to priority for (PrioritizedMethod em : startMethods) em.invoke(); addShutdownHook(); getLog().version(Version.printVersion()); state = ComponentStatus.RUNNING; }