Save configuration after loading to ensure new options being present in file

For example if you had `[forced-hosts]` section missing, and `[servers]`
section not having entries similar to default forced hosts ones, then
new configuration would fail at validation and new options wouldn't be
saved to file at all.
This commit is contained in:
Mark Vainomaa
2018-10-28 18:15:32 +02:00
parent 070631902a
commit 0c86f02c49

View File

@@ -147,16 +147,15 @@ public class VelocityServer implements ProxyServer {
Path configPath = Paths.get("velocity.toml");
configuration = VelocityConfiguration.read(configPath);
AnnotatedConfig
.saveConfig(configuration.dumpConfig(), configPath); // Resave config to add new values
if (!configuration.validate()) {
logger.error(
"Your configuration is invalid. Velocity will refuse to start up until the errors are resolved.");
LogManager.shutdown();
System.exit(1);
}
AnnotatedConfig
.saveConfig(configuration.dumpConfig(), configPath); //Resave config to add new values
} catch (Exception e) {
logger.error("Unable to read/load/save your velocity.toml. The server will shut down.", e);
LogManager.shutdown();