/** * Starts a nested {@link ILifecycleComponent}. Uses default message. * * @param component * @param monitor * @param require * @throws SiteWhereException */ public void startNestedComponent(ILifecycleComponent component, ILifecycleProgressMonitor monitor, boolean require) throws SiteWhereException { startNestedComponent(component, monitor, getComponentName() + " failed to start.", require); }
public void logState() { getLogger().info("\n\n" + getComponentName() + " State:\n" + logState("", this) + "\n"); }
@Override public void lifecyclePause(ILifecycleProgressMonitor monitor) { setLifecycleStatus(LifecycleStatus.Pausing); getLogger().info(getComponentName() + " state transitioned to PAUSING."); try { pause(monitor); setLifecycleStatus(LifecycleStatus.Paused); getLogger().info(getComponentName() + " state transitioned to PAUSED."); } 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); } }
@Override public void lifecycleTerminate(ILifecycleProgressMonitor monitor) { setLifecycleStatus(LifecycleStatus.Terminating); getLogger().info(getComponentName() + " state transitioned to TERMINATING."); try { terminate(monitor); setLifecycleStatus(LifecycleStatus.Terminated); getLogger().info(getComponentName() + " state transitioned to TERMINATED."); } 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); } }
public void logState() { getLogger().info("\n\n" + getComponentName() + " State:\n" + logState("", this) + "\n"); }
@Override public void lifecycleInitialize(ILifecycleProgressMonitor monitor) { try { // Verify that component can be initialized. if (!canInitialize()) { return; } setLifecycleStatus(LifecycleStatus.Initializing); getLogger().info(getComponentName() + " state transitioned to INITIALIZING."); initialize(monitor); setLifecycleStatus(LifecycleStatus.Stopped); getLogger().info(getComponentName() + " state transitioned to INITIALIZED."); } 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); } }
@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); } }
@Override public void lifecycleStop(ILifecycleProgressMonitor monitor, ILifecycleConstraints constraints) { try { // Verify that we are allowed to stop component. if (!canStop()) { return; } setLifecycleStatus(LifecycleStatus.Stopping); getLogger().info(getComponentName() + " state transitioned to STOPPING."); if (constraints == null) { stop(monitor); } else { stop(monitor, constraints); } setLifecycleStatus(LifecycleStatus.Stopped); getLogger().info(getComponentName() + " state transitioned to STOPPED."); } 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); } }
@Override public void lifecycleTerminate(ILifecycleProgressMonitor monitor) { setLifecycleStatus(LifecycleStatus.Terminating); getLogger().debug(getComponentName() + " state transitioned to TERMINATING."); try { terminate(monitor); setLifecycleStatus(LifecycleStatus.Terminated); getLogger().debug(getComponentName() + " state transitioned to TERMINATED."); } catch (SiteWhereException e) { setLifecycleError(e); setLifecycleStatus(LifecycleStatus.LifecycleError); getLogger().error(getComponentName() + " state transitioned to ERROR.", e); } catch (Throwable t) { setLifecycleError(new SiteWhereException(t)); setLifecycleStatus(LifecycleStatus.LifecycleError); getLogger().error(getComponentName() + " state transitioned to ERROR.", t); } }
@Override public void lifecyclePause(ILifecycleProgressMonitor monitor) { setLifecycleStatus(LifecycleStatus.Pausing); getLogger().info(getComponentName() + " state transitioned to PAUSING."); try { pause(monitor); setLifecycleStatus(LifecycleStatus.Paused); getLogger().debug(getComponentName() + " state transitioned to PAUSED."); } catch (SiteWhereException e) { setLifecycleError(e); setLifecycleStatus(LifecycleStatus.LifecycleError); getLogger().error(getComponentName() + " state transitioned to ERROR.", e); } catch (Throwable t) { setLifecycleError(new SiteWhereException(t)); setLifecycleStatus(LifecycleStatus.LifecycleError); getLogger().error(getComponentName() + " state transitioned to ERROR.", t); } }
@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; }
try { span = monitor.createTracerSpan("Initialize " + getComponentName()); getLogger().debug(getComponentName() + " state transitioned to INITIALIZING."); getLogger().debug(getComponentName() + " state transitioned to INITIALIZED."); } catch (SiteWhereException e) { setLifecycleError(e); setLifecycleStatus(LifecycleStatus.InitializationError); getLogger().error(getComponentName() + " state transitioned to ERROR.", e); monitor.handleErrorInTracerSpan(span, e); } catch (Throwable t) { setLifecycleError(new SiteWhereException(t)); setLifecycleStatus(LifecycleStatus.InitializationError); getLogger().error(getComponentName() + " state transitioned to ERROR.", t); monitor.handleErrorInTracerSpan(span, t); } finally {
try { span = monitor.createTracerSpan("Stop " + getComponentName()); getLogger().debug(getComponentName() + " state transitioned to STOPPING."); getLogger().debug(getComponentName() + " state transitioned to STOPPED."); } else if (status == LifecycleStatus.StoppedWithErrors) { getLogger().debug(getComponentName() + " state transitioned to STOPPED WITH ERRORS."); getLogger().error(getComponentName() + " state transitioned to ERROR.", e); monitor.handleErrorInTracerSpan(span, e); } catch (Throwable t) { setLifecycleError(new SiteWhereException(t)); setLifecycleStatus(LifecycleStatus.LifecycleError); getLogger().error(getComponentName() + " state transitioned to ERROR.", t); monitor.handleErrorInTracerSpan(span, t); } finally {
try { span = monitor.createTracerSpan("Start " + getComponentName()); getLogger().debug(getComponentName() + " state transitioned to STARTING."); getLogger().debug(getComponentName() + " state transitioned to STARTED."); } else if (status == LifecycleStatus.StartedWithErrors) { getLogger().debug(getComponentName() + " state transitioned to STARTED WITH ERRORS."); getLogger().error(getComponentName() + " state transitioned to ERROR.", e); monitor.handleErrorInTracerSpan(span, e); } catch (Throwable t) { setLifecycleError(new SiteWhereException(t)); setLifecycleStatus(LifecycleStatus.LifecycleError); getLogger().error(getComponentName() + " state transitioned to ERROR.", t); monitor.handleErrorInTracerSpan(span, t); } finally {