@Override public ILifecycleComponentState getComponentState() { LifecycleComponentState state = new LifecycleComponentState(); state.setComponentId(getComponentId()); state.setComponentName(getComponentName()); state.setStatus(getLifecycleStatus()); if (getLifecycleError() != null) { state.setErrorStack(parseErrors(getLifecycleError())); } if (getLifecycleComponents().size() > 0) { List<LifecycleComponentState> childStates = new ArrayList<>(); for (ILifecycleComponent child : getLifecycleComponents().values()) { childStates.add((LifecycleComponentState) child.getComponentState()); } Collections.sort(childStates, new Comparator<LifecycleComponentState>() { @Override public int compare(LifecycleComponentState o1, LifecycleComponentState o2) { return o1.getComponentName().compareTo(o2.getComponentName()); } }); state.setChildComponentStates(childStates); } return state; }
@Override public void lifecycleStart(ILifecycleProgressMonitor monitor) { try { // Verify that component can be started. if (!canStart()) { return; } LifecycleStatus old = getLifecycleStatus(); setLifecycleStatus(LifecycleStatus.Starting); getLogger().info(getComponentName() + " state transitioned to STARTING."); if (old != LifecycleStatus.Paused) { start(monitor); } setLifecycleStatus(LifecycleStatus.Started); getLogger().info(getComponentName() + " state transitioned to STARTED."); } catch (SiteWhereException e) { setLifecycleStatus(LifecycleStatus.Error); setLifecycleError(e); getLogger().error(getComponentName() + " state transitioned to ERROR.", e); } catch (Throwable t) { setLifecycleStatus(LifecycleStatus.Error); setLifecycleError(new SiteWhereException(t)); getLogger().error(getComponentName() + " state transitioned to ERROR.", t); } }
LifecycleStatus old = getLifecycleStatus(); setLifecycleStatus(LifecycleStatus.Starting); getLogger().debug(getComponentName() + " state transitioned to STARTING.");