Java Vertx默认配置文件
有没有一种方法可以使vertx加载指定的默认配置,而无需执行以下操作:Java Vertx默认配置文件,java,maven,configuration,vert.x,Java,Maven,Configuration,Vert.x,有没有一种方法可以使vertx加载指定的默认配置,而无需执行以下操作: java -jar my-fat.jar -conf /path/to/my/conf.json 我的意思是让vertx使用my fat.jar中的配置文件 为简单起见,我希望在默认情况下有一个配置-可能可以从外部覆盖,也可能暂时不覆盖。我有很多独立运行的微服务,我想把它们制作成JAR,它们是自给自足的 这可以通过编程或maven实现吗 感谢您的帮助。如果您正在研究微服务,我建议您进行研究,因为它涵盖了专门针对它的配置。无
java -jar my-fat.jar -conf /path/to/my/conf.json
我的意思是让vertx使用my fat.jar
中的配置文件
为简单起见,我希望在默认情况下有一个配置-可能可以从外部覆盖,也可能暂时不覆盖。我有很多独立运行的微服务,我想把它们制作成JAR,它们是自给自足的
这可以通过编程或maven实现吗感谢您的帮助。如果您正在研究微服务,我建议您进行研究,因为它涵盖了专门针对它的配置。无论您如何描述您希望使用预设json覆盖默认配置,您都可以通过以下思路中的帮助器方法快速实现这一点:
public JsonObject config() {
JsonObject json = Vertx.currentContext().config();
if (json == null) {
return new JsonObject(
vertx.fileSystem()
.readFileBlocking("Your-Hard-Coded-Fallback.json"));
}
return json;
}
请注意,这是一个黑客攻击,请注意您需要有正确的上下文,并且vertx对象需要可用,因此可以安全地从
start()
方法调用它。对于正确的解决方案,我仍然建议您查看vertx配置
模块。如果您要查看微服务,我建议您查看,因为它包含专门针对它的配置。无论您如何描述您希望使用预设json覆盖默认配置,您都可以通过以下思路中的帮助器方法快速实现这一点:
public JsonObject config() {
JsonObject json = Vertx.currentContext().config();
if (json == null) {
return new JsonObject(
vertx.fileSystem()
.readFileBlocking("Your-Hard-Coded-Fallback.json"));
}
return json;
}
请注意,这是一个黑客攻击,请注意您需要有正确的上下文,并且vertx对象需要可用,因此可以安全地从
start()
方法调用它。对于正确的解决方案,我仍然建议您查看vertx config
模块。-conf
只需调用.setConfig()
上的部署选项
。您也可以这样做。-conf
只需在DeploymentOptions
上调用传递到垂直体的.setConfig()
。你也可以这样做。