void updateCredentialsFromProperties() throws IOException {
    Properties properties = new Properties();
    try (FileInputStream is = new FileInputStream(credentialsFile)) {
      properties.load(is);
    }
    String username = ensureNotEmptyOrNull(properties, credentialsFile, USERNAME);
    String password = ensureNotEmptyOrNull(properties, credentialsFile, PASSWORD);
    basicCredentials.updateCredentials(username, password);
  }
Loads username/password from credentials file.

<p><em>NOTE:</em> This implementation loops instead of using {@link java.nio.file.WatchService}.
This means that spans will drop and api failures will occur for any time remaining in the refresh
interval. A future version can tighten this by also using poll events.
zipkin-server/src/main/java/zipkin2/server/internal/elasticsearch/DynamicCredentialsFileLoader.java