/** * Return a file server resolver that resolves from a file using a best effort round robin strategy. * * @param file a file containing server resolver information, see {@link FileServerResolver} for specification * @return {@link FileServerResolver} */ public static ServerResolver fromFile(File file) { return new FileServerResolver(file); }
FileServerResolver(File textFile, Configuration configuration) { super(createServerSource(textFile, configuration)); this.textFile = textFile; this.configuration = configuration; }
public FileServerResolver build() { if (loadBalancerBuilder == null) { loadBalancerBuilder = new DefaultLoadBalancerBuilder<>(null); } return new FileServerResolver( textFile, reloadIntervalMs, idleTimeoutMs, TimeUnit.MILLISECONDS, alwaysReload, loadBalancerBuilder, scheduler ); } }
public FileServerResolver configureReloadScheduler(Scheduler scheduler) { Configuration updatedConfig = configuration .copy() .withScheduler(scheduler); return new FileServerResolver(textFile, updatedConfig); }
public FileServerResolver configureReload(boolean alwaysReload, int reloadInterval, int idleTimeout, TimeUnit timeUnit) { Configuration updatedConfig = configuration .copy() .withAlwaysReload(alwaysReload) .withReloadInterval(reloadInterval) .withIdleTimeout(idleTimeout) .withTimeUnit(timeUnit); return new FileServerResolver(textFile, updatedConfig); }