public void run() { LOGGER.info("All services are going to be stopped"); bootstrap.stopAll(); } });
public HadoopBootstrap add(String componentName) throws NotFoundServiceException { manualComponentsToStart.add(getService(componentName)); return this; }
public void startAll() { if (manualComponentsToStart.isEmpty()) { internalStart(componentsToStart); } else { internalStart(manualComponentsToStart); } }
private List<String> computeStartingOrder() { Graph<String, DefaultEdge> dependenciesGraph = generateGraph(commands); Map<String, List<String>> dependenciesMapByComponent = commands.values().stream().collect(Collectors.toMap(Bootstrap::getName, c -> DependenciesCalculator.calculateParents(dependenciesGraph, c.getName()))); Map<String, List<String>> transitiveDependenciesMapByComponent = DependenciesCalculator.findTransitiveDependenciesByComponent(dependenciesMapByComponent); return DependenciesCalculator.dryRunToDefineCorrectOrder(transitiveDependenciesMapByComponent); }
public void stopAll() { if (manualComponentsToStop.isEmpty()) { internalStop(componentsToStop); } else { manualComponentsToStop = this.manualComponentsToStart.stream().collect(toList()); Collections.reverse(manualComponentsToStop); internalStop(manualComponentsToStop); } }
HadoopBootstrap() { commands.clear(); commandLoader.reload(); Iterable<Bootstrap> iterable = commandLoader::iterator; commands = StreamSupport.stream(iterable.spliterator(), false) .collect(Collectors.toMap(Bootstrap::getName, Function.identity())); List<String> componentsNameToStart = computeStartingOrder(); componentsToStart = componentsNameToStart.stream().map(c -> commands.get(c)).collect(Collectors.toList()); componentsToStop = new ArrayList<>(componentsToStart); Collections.reverse(componentsToStop); Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { LOGGER.info("All services are going to be stopped"); stopAll(); } }); }
public static void main(String[] args) throws BootstrapException { try { configuration = new PropertiesConfiguration("hadoop.properties"); } catch (ConfigurationException e) { throw new BootstrapException("bad config", e); } HadoopBootstrap bootstrap = HadoopBootstrap.INSTANCE; bootstrap.componentsToStart = bootstrap.componentsToStart.stream().filter(c -> configuration.containsKey(c.getName().toLowerCase()) && configuration.getBoolean(c.getName().toLowerCase()) ).collect(Collectors.toList()); bootstrap.componentsToStop = bootstrap.componentsToStop.stream().filter(c -> configuration.containsKey(c.getName().toLowerCase()) && configuration.getBoolean(c.getName().toLowerCase()) ).collect(Collectors.toList()); Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { LOGGER.info("All services are going to be stopped"); bootstrap.stopAll(); } }); bootstrap.startAll(); } }
private List<String> computeStartingOrder() { Graph<String, DefaultEdge> dependenciesGraph = generateGraph(commands); Map<String, List<String>> dependenciesMapByComponent = commands.values().stream().collect(Collectors.toMap(Bootstrap::getName, c -> DependenciesCalculator.calculateParents(dependenciesGraph, c.getName()))); Map<String, List<String>> transitiveDependenciesMapByComponent = DependenciesCalculator.findTransitiveDependenciesByComponent(dependenciesMapByComponent); return DependenciesCalculator.dryRunToDefineCorrectOrder(transitiveDependenciesMapByComponent); }
public void stopAll() { if (manualComponentsToStop.isEmpty()) { internalStop(componentsToStop); } else { manualComponentsToStop = this.manualComponentsToStart.stream().collect(toList()); Collections.reverse(manualComponentsToStop); internalStop(manualComponentsToStop); } }
HadoopBootstrap() { commands.clear(); commandLoader.reload(); Iterable<Bootstrap> iterable = commandLoader::iterator; commands = StreamSupport.stream(iterable.spliterator(), false) .collect(Collectors.toMap(Bootstrap::getName, Function.identity())); List<String> componentsNameToStart = computeStartingOrder(); componentsToStart = componentsNameToStart.stream().map(c -> commands.get(c)).collect(Collectors.toList()); componentsToStop = new ArrayList<>(componentsToStart); Collections.reverse(componentsToStop); Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { LOGGER.info("All services are going to be stopped"); stopAll(); } }); }
public void run() { LOGGER.info("All services are going to be stopped"); stopAll(); } });
public void startAll() { if (manualComponentsToStart.isEmpty()) { internalStart(componentsToStart); } else { internalStart(manualComponentsToStart); } }
public HadoopBootstrap add(String componentName) throws NotFoundServiceException { manualComponentsToStart.add(getService(componentName)); return this; }
public void run() { LOGGER.info("All services are going to be stopped"); stopAll(); } });