Vertx 默认配置文件
Vertx default configuration file
有没有办法让顶点加载指定的默认配置而不做:
java -jar my-fat.jar -conf /path/to/my/conf.json
我的意思是让 vertx 使用 my-fat.jar
中存在的配置文件。
为简单起见,我希望默认有一个配置——也许可以从外部覆盖,或者暂时不能。我有很多独立运行的微服务,我想将它们生成为自给自足的罐子。
这可以通过编程方式完成还是可以使用 maven 完成?
感谢您的帮助。
如果您正在研究微服务,我建议您研究一下 http://vertx.io/docs/vertx-config/java/,因为它涵盖了专门针对它的配置。但是,您描述的是您想使用预设 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;
}
请注意,这是一个 hack,请注意您需要有正确的上下文并且 vertx 对象需要可用,以便从 start()
方法调用它是安全的。对于正确的解决方案,我仍然建议您查看 vertx-config
模块。
有没有办法让顶点加载指定的默认配置而不做:
java -jar my-fat.jar -conf /path/to/my/conf.json
我的意思是让 vertx 使用 my-fat.jar
中存在的配置文件。
为简单起见,我希望默认有一个配置——也许可以从外部覆盖,或者暂时不能。我有很多独立运行的微服务,我想将它们生成为自给自足的罐子。
这可以通过编程方式完成还是可以使用 maven 完成?
感谢您的帮助。
如果您正在研究微服务,我建议您研究一下 http://vertx.io/docs/vertx-config/java/,因为它涵盖了专门针对它的配置。但是,您描述的是您想使用预设 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;
}
请注意,这是一个 hack,请注意您需要有正确的上下文并且 vertx 对象需要可用,以便从 start()
方法调用它是安全的。对于正确的解决方案,我仍然建议您查看 vertx-config
模块。