private void onServiceRemoved(ServiceController controller) { final Object serviceObject = controller.getService().get(); for (int i = 0; i < references.size(); i++) { final ServiceGroupReferenceImpl reference = references.get(i); reference.removeValue(controller.getServiceName(), serviceObject); } }
public void onDependenciesAvailable(ServiceEvent evt) { resolvedDependencies = (List<ServiceController>) evt.getPayload(); // inject dependencies for (ServiceController serviceController : resolvedDependencies) { final Collection<Injector<?>> injectos = injectors.getOrDefault(serviceController.name, Collections.emptyList()); for (Injector injector : injectos) { injector.inject(serviceController.service.get()); injector.setInjectedServiceName(serviceController.name); } } // invoke start state = awaitStartState; startContext = new StartContextImpl(); try { service.start(startContext); if (startContext.action != null) { actor.runBlocking(startContext.action, startContext); } if (!startContext.isAsync()) { fireEvent(ServiceEventType.SERVICE_STARTED); } } catch (Exception e) { fireEvent(ServiceEventType.SERVICE_START_FAILED, e); } } }
private void invokeStop(boolean interrupted) { state = awaitStopState; if (startContext != null) { startContext.invalidate(); } stopContext = new StopContextImpl(); stopContext.wasInterrupted = interrupted; try { service.stop(stopContext); if (stopContext.action != null) { actor.runBlocking(stopContext.action, stopContext); } if (!stopContext.isAsync()) { fireEvent(ServiceEventType.SERVICE_STOPPED); } } catch (Throwable t) { LOG.error("Exception while stopping service {}: {}", this, t); fireEvent(ServiceEventType.SERVICE_STOPPED); } }
public void onDependenciesAvailable(ServiceEvent evt) { resolvedDependencies = (List<ServiceController>) evt.getPayload(); // inject dependencies for (ServiceController serviceController : resolvedDependencies) { final Collection<Injector<?>> injectos = injectors.getOrDefault(serviceController.name, Collections.emptyList()); for (Injector injector : injectos) { injector.inject(serviceController.service.get()); injector.setInjectedServiceName(serviceController.name); } } // invoke start state = awaitStartState; startContext = new StartContextImpl(); try { service.start(startContext); if (startContext.action != null) { actor.runBlocking(startContext.action, startContext); } if (!startContext.isAsync()) { fireEvent(ServiceEventType.SERVICE_STARTED); } } catch (Exception e) { fireEvent(ServiceEventType.SERVICE_START_FAILED, e); } } }
private void invokeStop(boolean interrupted) { state = awaitStopState; if (startContext != null) { startContext.invalidate(); } stopContext = new StopContextImpl(); stopContext.wasInterrupted = interrupted; try { service.stop(stopContext); if (stopContext.action != null) { actor.runBlocking(stopContext.action, stopContext); } if (!stopContext.isAsync()) { fireEvent(ServiceEventType.SERVICE_STOPPED); } } catch (Throwable t) { LOG.error("Exception while stopping service {}: {}", this, t); fireEvent(ServiceEventType.SERVICE_STOPPED); } }
private void onServiceAdded(ServiceController controller) { final Object serviceObject = controller.getService().get(); for (int i = 0; i < references.size(); i++) { final ServiceGroupReferenceImpl reference = references.get(i); reference.addValue(controller.getServiceName(), serviceObject); } }
@SuppressWarnings("unchecked") public void onStarted() { if (stopAfterStarted) { startFuture.completeExceptionally( new RuntimeException( String.format("Could not start service %s" + " removed while starting", name))); invokeStop(false); } else { state = startedState; startFuture.complete(getService().get()); } }
@SuppressWarnings("unchecked") public void onStarted() { if (stopAfterStarted) { startFuture.completeExceptionally( new RuntimeException( String.format("Could not start service %s" + " removed while starting", name))); invokeStop(false); } else { state = startedState; startFuture.complete(getService().get()); } }
private void onServiceRemoved(ServiceController controller) { final Object serviceObject = controller.getService().get(); for (int i = 0; i < references.size(); i++) { final ServiceGroupReferenceImpl reference = references.get(i); reference.removeValue(controller.getServiceName(), serviceObject); } }
private void onServiceAdded(ServiceController controller) { final Object serviceObject = controller.getService().get(); for (int i = 0; i < references.size(); i++) { final ServiceGroupReferenceImpl reference = references.get(i); reference.addValue(controller.getServiceName(), serviceObject); } }
private void onReferenceAdded(ServiceGroupReferenceImpl reference) { for (ServiceController serviceController : controllers) { final Service<?> service = serviceController.getService(); reference.addValue(serviceController.getServiceName(), service.get()); } }
private void onReferenceAdded(ServiceGroupReferenceImpl reference) { for (ServiceController serviceController : controllers) { final Service<?> service = serviceController.getService(); reference.addValue(serviceController.getServiceName(), service.get()); } }