• config-toolkit之config-face


    config-toolkit是当当网开发的开源项目,使用起来非常的方便。对于很多配置都可以写在配置中心中,进行配置数据的获取,这样我们可以不用把很多信息写在了代码里面,例如数据库账号密码等信息。

    config-toolkit的github

    地址为:https://github.com/dangdangdotcom/config-toolkit
    github下面下来的代码中总共有三个目录:
    config-face:操作数据的web项目,可以对数据对行增改删等操作(本文分析)
    config-toolkit:自己项目中实际引入这个jar包,进行获取配置数据
    config-toolkit-demo:官方给出操作的模版

    config-face

    config-face是一个SpringBoot项目,启动类为ConfigFaceApplication。简单地封装了界面及后台逻辑
    config这里主要进行权限控制和用户登录时密码和用户名效验并进行角色赋值。
    controller做为前后端交互的入口,接收前端的调用。主要进行版本、分组、配置项的增删改查。
    entity封装了消息返回和接收类
    service主要进行了数据的封装及增删改查操作

    怎么去改变zookeeper的配置项值

    整个项目中除了数据的封装最主要的就是数据的增删改查,项目使用了Curator工具对zookeeper的数据进行操作,增删改会触发zookeeper的watch监听,是实现热加载的重要操作

        @Value("${zk}")
    	private String zkAddress;
    
    	private CuratorFramework client;
    
    	@PostConstruct
    	private void init() {
    		client = CuratorFrameworkFactory.newClient(zkAddress, new ExponentialBackoffRetry(1000, 3));
    		client.start();
    	}
    
    	@PreDestroy
    	private void destroy() {
    		if (client != null) {
    			client.close();
    		}
    	}
    

    client.create().creatingParentsIfNeeded().forPath(node, value.getBytes(Charsets.UTF_8));
    

    client.delete().deletingChildrenIfNeeded().forPath(node);
    

    client.setData().forPath(node, value.getBytes(Charsets.UTF_8));
    

    client.getData().forPath(node);
    
  • 相关阅读:
    CSS 选择器之复合选择器
    答辩ppt
    开题报告
    ADS1110/ADS1271
    电感、磁珠和零欧电阻的区别
    ROM、RAM、DRAM、SRAM和FLASH区别
    运放的带宽
    ADC 分辨率和精度的区别
    Verilog
    C语言 文件读取
  • 原文地址:https://www.cnblogs.com/cnJun/p/10546777.html
Copyright © 2020-2023  润新知