List of usage examples for com.google.common.base Service start
Future<State> start();
From source file:io.datakernel.service.ServiceGraphModule.java
private Service getWorkersServiceOrNull(final Key<?> key, final List<?> instances) { final List<Service> services = new ArrayList<>(); boolean found = false; for (Object instance : instances) { Service service = getServiceOrNull(key, instance); services.add(service);// w w w . j a v a 2s .c om if (service != null) { found = true; } } if (!found) return null; return new Service() { @Override public ListenableFuture<?> start() { List<ListenableFuture<?>> futures = new ArrayList<>(); for (Service service : services) { futures.add(service != null ? service.start() : null); } return combineFutures(futures, directExecutor()); } @Override public ListenableFuture<?> stop() { List<ListenableFuture<?>> futures = new ArrayList<>(); for (Service service : services) { futures.add(service != null ? service.stop() : null); } return combineFutures(futures, directExecutor()); } }; }
From source file:fathom.Services.java
public synchronized void start(Injector injector) { started = true;//from w w w . ja v a 2s. c o m getServiceClasses().forEach((serviceClass) -> { if (RequireUtil.allowClass(settings, serviceClass)) { Service service = injector.getInstance(serviceClass); instances.add(service); } }); // sort the services into the preferred start order Collections.sort(instances, new Comparator<Service>() { @Override public int compare(Service o1, Service o2) { if (o2.getPreferredStartOrder() < 0) { return -1; } else if (o1.getPreferredStartOrder() < 0) { return 1; } else if (o1.getPreferredStartOrder() < o2.getPreferredStartOrder()) { return -1; } else if (o1.getPreferredStartOrder() > o2.getPreferredStartOrder()) { return 1; } return 0; } }); for (Service service : instances) { log.debug("{} '{}'", Strings.padStart("" + service.getPreferredStartOrder(), 3, '0'), service.getClass().getName()); } for (Service service : instances) { log.info("Starting service '{}'", service.getClass().getName()); try { service.start(); } catch (Exception e) { log.error("Failed to start '{}'", service.getClass().getName(), e); if (e instanceof FatalException) { stop(); System.exit(1); } } } }