Esempio n. 1
0
  public boolean doRestart(
      Service service, RollingRestartStrategy strategy, Map<String, List<Instance>> toRestart) {
    try {
      long batchSize = strategy.getBatchSize();
      final Map<String, List<Instance>> restartBatch = new HashMap<>();
      long i = 0;
      Iterator<Map.Entry<String, List<Instance>>> it = toRestart.entrySet().iterator();
      while (it.hasNext() && i < batchSize) {
        Map.Entry<String, List<Instance>> instances = it.next();
        String deploymentUnitUUID = instances.getKey();
        restartBatch.put(deploymentUnitUUID, instances.getValue());
        it.remove();
        i++;
      }

      restartDeploymentUnits(service, restartBatch);

      if (toRestart.isEmpty()) {
        return true;
      }
      return false;

    } catch (TimeoutException e) {
      return false;
    }
  }