public Application build() {
Map<String, XioServer> servers = new HashMap<>();
serverBootstraps.forEach((k, v) -> servers.put(k, v.build()));
ZkClient zkClient = state.getZkClient();
zkClient.registerUpdater(
new IpFilterConfig.Updater(config.getIpFilterPath(), state::setIpFilterConfig));
zkClient.registerUpdater(
new Http1FilterConfig.Updater(config.getHttp1FilterPath(), state::setHttp1FilterConfig));
state.getZkClient().start();
Configurator configurator = Configurator.build(config.settings());
configurator.start();
Application application = new Application(config, servers, state, configurator);
new ApplicationRunner(application).start();
return application;
}
}