Beispiel #1
0
  @Override
  protected void readAll(List<Address> members, String clustername, Responses responses) {
    try {
      List<String> objects = swiftClient.listObjects(container);
      for (String object : objects) {
        List<PingData> list = null;
        byte[] bytes = swiftClient.readObject(container, object);
        if ((list = read(new ByteArrayInputStream(bytes))) == null) {
          log.warn("failed reading " + object);
          continue;
        }
        for (PingData data : list) {
          if (members == null || members.contains(data.getAddress()))
            responses.addResponse(data, data.isCoord());
          if (local_addr != null && !local_addr.equals(data.getAddress()))
            addDiscoveryResponseToCaches(
                data.getAddress(), data.getLogicalName(), data.getPhysicalAddr());
        }
      }

    } catch (Exception e) {
      log.error("Error unmarshalling object", e);
    }
  }