zl程序教程

您现在的位置是:首页 >  其它

当前栏目

试用配置管理库typesafe.config

config 试用 配置管理
2023-09-14 08:58:00 时间
Typesafe的Config库,纯Java写成、零外部依赖、代码精简、功能灵活、API友好。支持Java properties、JSON、JSON超集格式HOCON以及环境变量。它也是Akka的配置管理库.

Overview 纯java实现,无任何依赖 充分的测试 支持: Java properties, JSON, and a human-friendly JSON superset 可以合并各种格式的配置文件 可以通过文件、urls、classpath加载配置 支持多层嵌套的配置方式 识别Java system properties, 如java -Dmyapp.foo.bar=10 可以转换长短,大小等单位。如配置文件中timeout=10s,则可以转换成任意的毫秒或者 类型转换,比如yes可以转换为boolean类型的true JSON superset features: comments includes substitutions ("foo" : ${bar}, "foo" : Hello ${who}) properties-like notation (a.b=c) less noisy, more lenient syntax substitute environment variables (logdir=${HOME}/logs)
目前config只支持配置文件,如果想从数据库获取配置文件,需要自己diy。 config库很擅长合并配置。

Example 默认加载classpath下的application.conf,application.json和application.properties文件。通过ConfigFactory.load()加载。

# these are our own config values defined by the app

simple-app {

 answer=42

# Here we override some values used by a library

simple-lib.foo="This value comes from simple-apps application.conf"

simple-lib.whatever = "This value comes from simple-apps application.conf"
public class SimpleLibContext {

 private Config config;

 //指定配置文件

 public SimpleLibContext(Config config) {

 this.config = config;

 config.checkValid(ConfigFactory.defaultReference(), "simple-lib");

 // 默认加载classpath下的application.*

 public SimpleLibContext() {

 this(ConfigFactory.load());

 //打印

 public void printSetting(String path) {

 System.out.println("The setting " + path + " is: " + config.getString(path));

 public static void main(String[] args) {

 SimpleLibContext s = new SimpleLibContext();

 s.printSetting("simple-app.answer");

}
Reference http://stackoverflow.com/questions/18668883/using-typesafes-config-to-manage-my-database-connection
https://github.com/typesafehub/config/tree/master/examples
https://github.com/typesafehub/config


阿里云Web应用托管服务(web+)如何使用命令行工具变更部署环境配置? 今天我们来向大家介绍一下,阿里云Web应用托管服务(web+)中如何使用命令行工具对应用部署环境进行变更。在此之前请您确保wpctl命令行工具已经正确安装并配置。 我们首先输入wpctl env:apply --help查阅apply命令的帮助文档。
【.NET Core项目实战-统一认证平台】第三章 网关篇-数据库存储配置(1) 原文:【.NET Core项目实战-统一认证平台】第三章 网关篇-数据库存储配置(1) 【.NET Core项目实战-统一认证平台】开篇及目录索引 本篇将介绍如何扩展Ocelot中间件实现自定义网关,并使用2种不同数据库来演示Ocelot配置信息存储和动态更新功能,内容也是从实际设计出发来编写我们自己的中间件,本文内容涵盖设计思想内容和代码内容,我希望园友们最好跟着我这个文章的思路先理解好后再看源代码,这样有利于融会贯通,本篇的文档及源码将会在GitHub上开源,每篇的源代码我将用分支的方式管理,本篇使用的分支为course1。
CLI使用案例4:灵活配置CLI 配置CLI以满足不同需求: - 配置多个账户,方便测试和多域操作。 - 切换默认账户,不用每个命令都指定。 - 使用HTTPS连接日志服务,更加安全。 - 格式化输出json格式,更方便查阅。
CLI使用案例1:快速创建Logtail配置 Logtail作为日志服务的轻量级数据采集工具, 如何大批量快速配置Logtail是使用日志服务的一个重要操作, CLI使得这件事情可以快速完成.