List of usage examples for com.google.common.base Service getClass
@HotSpotIntrinsicCandidate public final native Class<?> getClass();
From source file:fathom.Services.java
public synchronized void stop() { // stop the services in the reverse order Collections.reverse(instances); for (Service service : instances) { if (service.isRunning()) { log.info("Stopping service '{}'", service.getClass().getName()); try { service.stop();/* w w w. ja v a 2 s .c o m*/ } catch (Exception e) { log.error("Failed to stop '{}'", service.getClass().getName(), e); } } } }
From source file:fathom.Services.java
public synchronized void start(Injector injector) { started = true;//from ww w .j av a 2 s. 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); } } } }