当前位置: 首页 > 软件库 > 程序开发 > >

orgwalkerljl-config

配置管理工具
授权协议 GPL
开发语言 Java
所属分类 程序开发
软件类型 开源软件
地区 国产
投 递 者 乜思淼
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

系统上线之后运营的过程中,运营人员或系统管理员通常需要去修改系统的一些配置并希望能够在一定时间内对系统生效。orgwalkerljl-config是一个微型的基于JAVA的配置器组件,适用性很强。orgwalkerljl-config主要由一个Configurator(配置器)接口、多个实现的Configurator接口的实现类和一个ConfiguratorFactory工厂类组成,可扩展性和管理型强。主要接口介绍:

1、Configurator:配置器接口。此接口定义了获取各种数据类型配置的方法,通过这些方法可以快速获取适用性强的配置数据。

2、ConfiguratorFactory:最终对外提供服务的工厂类。采用动态注册的方式支持多个Configurator的实现(即多个配置器),如果多个配置器有相同配置Key,则获取配置数据默认按照配置器注册顺序为准。

3、Readonly和Managed两种类型的配置器实现。

    a、Readonly类型配置器为只读配置器,系统启动之后进行初始化配置数据的初始化,初始化之后不可进行配置数据的更改,安全性高。目前有两个实现,基于JAVA Properties配置文件和基于API接口的的配置器。

    b、Managed类型配置器为可动态管理的配置器。顾名思义,即在系统的运行过程中,运营人员和系统管理人员可以通过某种UI进行配置数据的动态管理,灵活性高。目前实现了基于JVM的配置器,开发人员可以通过实现AbstractConfigurator抽象类来定制自己可管理的配置器。

注:所有配置Key默认忽略大小写。orgwalkerljl-config会默认去掉配置Key的前后空格。

样例代码:

//基于JAVA Properties配置的只读配置器
Configurator propertiesReadonlyConfigurator = new PropertiesReadonlyConfigurator("conf/conf.properties");
ConfiguratorFactory.getInstance().register(propertiesReadonlyConfigurator);//注册配置器

//基于API接口的只读配置器
Configurator apiReadonlyConfigurator = new ApiReadonlyConfigurator(new ConfigInfoLoader() {
@Override
public long getConfigInfoCount() {
return 1;
}
@Override
public List<ConfigInfo> getConfigInfo(long startIndex, int pageSize) {
List<ConfigInfo> configInfos = new ArrayList<ConfigInfo>();
configInfos.add(new ConfigInfo("1", "1"));
configInfos.add(new ConfigInfo("stringArrayKey", "1,2,3,4,5"));
return configInfos;
}
});
ConfiguratorFactory.getInstance().register(apiReadonlyConfigurator);

//基于JVM的可管理的配置器
Configurator jvmManagedConfigurator = new JvmManagedConfigurator();
jvmManagedConfigurator.setProperty("1", 1);
jvmManagedConfigurator.setProperty("flag", true);
jvmManagedConfigurator.setProperty("stringListKey", "1,2,3,4,5");
ConfiguratorFactory.getInstance().register(jvmManagedConfigurator);

//获取配置数据
ConfiguratorFactory.getInstance().getPropertyAsString("userid");
ConfiguratorFactory.getInstance().getPropertyAsString("username");

  • 搭建config-server访问github上存储的配置文件 阅读本文需要eureka-server和eureka-client的基础,这两个分别是服务注册中心和注册服务到服务注册中心 创建一个Maven工程,名字叫做exa-config-server, pom.xml文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt

  • 问题 mac采用 pip3 install mod_wsgi, 报错 FileNotFoundError: [Errno 2] No such file or directory: '/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apu-1-config' File

  • 在搭建go-filecoin测试节点的时候,需要先安装pkg-config,这里介绍在不同系统安装pkg-config的几种方法。 方法一: Mac上,可以直接用brew install pkg-config命令安装。 方法二: Linux上,到pkg-config官网https://www.freedesktop.org/wiki/Software/pkg-config/,下载最新安装包 目前,

  • configure: error: Cannot find PHP-config. Please use --with-php-config=PATH 一般出现这个错误说明你执行 ./configure 时  --with-php-config 这个参数配置路径错误导致的。 修改为: ./configure --with-php-config=/usr/local/php/bin/php-conf

  • opencv莫名出现该问题 error: (-2) The function is not implemented. Rebuilt the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-r

  • yum-config-manager 命令的本质是对 /etc/yum.repos.d/(库数据的储存位置)文件夹下文件的增删查改,推荐使用 yum-config-manager 命令进行改动。 yum-config-manager 命令对资源库进行管理。 查询仓库内容 # yum repolist all # 显示所有资源库 # yum repolist enabled # 显示所有已启动的资源

  • 命令的安装 yum-config-manager命令是对资源库(/etc/yum.repos.d/下的文件)进行增删改查,推荐使用yum-config-manager命令进行改动 系统默认没有安装这个命令,这个命令在yum-utils包里,可以通过yum install -y yum-utils安装 简介 # yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大

  • https://www.cnblogs.com/breezey/p/11770780.html 配置kubeadm-config.yaml 通过如下指令创建默认的kubeadm-config.yaml文件: kubeadm config print init-defaults > kubeadm-config.yaml #生成KubeletConfiguration示例文件 kubeadm

  • 这个报错指的是php-config文件没有找到 ( php-config和 php.ini, php-fpm.conf文件是不一样的) 1. 出现这种情况, 先确认是本机有没php-config文件, 使用如下命令查找      find / -name php-config       如果有.则执行 ./configure  --with-php-config=/usr/local/php/b

  • 这是在安装go-python的时候遇到的问题 go get github.com/sbinet/go-python 解决方案: 安装pkg-config sudo apt-get install pkg-config 之后运行: go get github.com/sbinet/go-python 解决!

 相关资料
  • 综述 为了防止可能攻破整个架构安全的错误,正确配置每个组成架构的元素是非常重要的。 配置审查和测试在创建和维护架构中是一项关键任务。这是因为不同的系统通常在安装时提供了通用的配置,这些配置不一定适合特点网站任务要求。 典型的web应用和服务器安装过程可能包含一系列的功能(比如应用例子,文档,测试页面等),这些不必须的功能应该在部署前移除来避免被恶意利用。 如何测试 黑盒测试 样本和已知文件/目录

  • 在 Laravel 中,大多数采用 .env 文件管理,深度配置都采用 config/*.php 配置。 在 ThinkSNS+ 这一现象并没有发生改变,我们也推崇使用 Laravel 方式进行管理配置,但是有时候我们往往需要后期配置, 但是后期配置不可能期望用户去修改配置文件。这很危险,用户大多都没有技术能力。 所以,在 ThinkSNS+ 在 Laravel 配置的基础上增加了一份更加灵活的配

  • Swoole框架提供了配置文件管理的功能。配置可以直接用数组的方式进行访问,底层会自动加载配置文件目录下的$key.php文件。配置文件必须在末尾return $array返回配置的信息。 使用方法 //在控制器中 $this->config['user']; //其他位置 Swoole::$php->config['user']; 设置配置文件路径 Swoole\Config::setPath

  • San CLI 的配置文件为san.config.js,该文件放在项目的根目录下,当执行 San CLI 命令时,San CLI 会自动读取san.config.js的内容,在项目创建后,首先需要修改san.config.js来配置文件打包等选项。San CLI UI 将配置的每一项转换为表单,同时将配置项的语义直观的展示在页面,无需查找文档,直接在San CLI UI中修改表单,保存后即可看到s

  • local settings 作为一个开源项目,我们在这方面做得并不是特别好——当然是有意如此的。不过,这里我们还是做一些简单的介绍。对于我们的项目来说,我们需要一些额外的配置,如我们的数据库中的DATABASES、DEFAULT_AUTHENTICATION_CLASSES、CORS_ORIGIN_ALLOW_ALL、SECRET_KEY应该在不同的环境中都有不同的配置。 我们可以一个创建loc

  • 概述 应用的配置信息,一般通过环境变量来注入。这些配置的值,可以抽取出来,存放到ConfigMap里面。ConfigMap以Key-Value的形式来保存这些配置信息。 在部署应用的时候,可以通过引用ConfigMap的Key来设置环境变量,而不是直接赋值。这样可以集中管理配置信息,方便应用多次部署以及多个应用之间共享配置信息。