disconf-client-for-java
一、disconf客户端部署
disconf目前仅支持java客户端,下文针对java客户端安装作为整理,记录下安装部署的步骤
1.环境依赖
首先需要安装java环境及maven环境,不再过多介绍
2.下载disconf-for-java客户端
[root@shuke client]# git clone https://github.com/knightliao/disconf-demos-java.git
[root@minion client]# tree -L 2
.
└── disconf-demos-java
├── disconf-spring-boot-demo 使用disconf的基于Spring的standalone demo程序
├── disconf-standalone-demo 集成了disconf和dubbo的基于Spring的standalone demo程序
├── disconf-standalone-dubbo-demo 使用disconf的spring-boot demo程序,更少的配置
├── pom.xml
└── README.md
4 directories, 2 files
- 下文以disconf-standalone-demo为例
- 编辑disconf-client客户端下载的配置文件
[root@minion rd]# vim /data/disconf/client/disconf-demos-java/disconf-standalone-demo/profile/rd/disconf.properties [root@minion rd]# egrep -v "^#|^$" disconf.properties
disconf.enable.remote.conf=true #是否使用远程配置文件,true(默认)会从远程获取配置, false则直接获取本地配置
disconf.conf_server_host=127.0.0.1:8084 #修改为discon-web的访问地址
disconf.version=1_0_0_0 #app对应的版本号
disconf.app=dzhops #app名称
disconf.env=rd #app的环境
disconf.ignore=redis.properties code.properties #忽略的分布式配置,用空格分隔
disconf.conf_server_url_retry_times=1 #获取远程配置重试次数,默认3次
disconf.conf_server_url_retry_sleep_seconds=1 #获取远程配置 重试时休眠时间,默认是5秒
disconf.user_define_download_dir=./disconf/download #用户定义的下载文件夹, 远程文件下载后会放在这里。注意,此文件夹必须有有权限,否则无法下载到这里
disconf.enable_local_download_dir_in_class_path=true #下载的文件会被迁移到classpath根路径下,强烈建议将此选项置为 true(默认是true)
- 编辑disconf-client客户端下载对应文件的配置文件(内容为需要下载的,自己在本地部署的应用程序所依赖的文件,从disconf-web下载)
[root@minion resources]# vim /data/disconf/client/disconf-demos-java/disconf-standalone-demo/src/main/resources/applicationContext.xml
<!-- 使用托管方式的disconf配置(无代码侵入, 配置更改会自动reload)-->
<bean id="configproperties_disconf"
class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:/server.cfg</value> #从disconf-web下载的文件,存放在discon-web服务器上面,启动disconf-client客户端,文件将会被下载
<value>classpath:/settings.py</value> #从disconf-web下载的文件,存放在disconf-web服务器上面,启动disconf-client客户端,文件将会被下载
</list>
</property>
</bean>
3.使用maven构建项目
[root@minion disconf-demos-java]# pwd
/data/disconf/client/disconf-demos-java
[root@minion disconf-demos-java]# mvn package #构建下载环境依赖
[root@minion disconf-demos-java]# cd disconf-standalone-demo/
[root@minion disconf-standalone-demo]# cat README.md #查看readme说明
[root@minion disconf-standalone-demo]# mvn clean package #构建环境,生成target目录
[root@minion disconf-standalone-demo]# cd target/
[root@minion target]# ls
classes disconf-standalone-demo.jar disconf-standalone-demo.tar.gz maven-archiver maven-status original-disconf-standalone-demo.jar starter-run
[root@minion target]# cd starter-run/
[root@minion starter-run]# ls
disconf.properties disconf-standalone-demo.jar env logback.xml start.sh stop.sh #启动及停止客户端程序目录,disconf.properties为配置文件
4.启动client进程
[root@minion starter-run]# sh start.sh #启动进程
[root@minion starter-run]# sh stop.sh #停止进程
[root@shuke starter-run]# ps -ef | grep "disconf-standalone-demo.jar" #查找客户端进程是否运行,可以在log目录下查看相关日志
root 20075 1 22 00:20 pts/2 00:00:04 java -server -Xms1024m -Xmx1024m -Xmn448m -Xss256K -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Dlogback.configurationFile=file:logback.xml -jar disconf-standalone-demo.jar
root 20098 3975 0 00:20 pts/2 00:00:00 grep disconf-standalone-demo.jar
5.文件下载检查
文件下载成功后会存放在当前路径及disconf/download目录下,如果在disconf-web端修改文件内容,客户端会自动检测并下载更新.
disconf-client-for-java的更多相关文章
- Java实践:一个简易的http server和client的java源码学习和总结。
一.基本思路: 1.服务器端通过socket(), 监听在TCP 8080端口,等待客户端来连接. 2.服务器端解析客户端的HTTP请求中的URI值,把本地的目录下指定文件通过java的读取文件的方式 ...
- elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介、Java REST Client、Java Client、Spring Data Elasticsearch)
一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RE ...
- springCloud 服务注册启动报错<com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect>
报错:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: ...
- springCloud com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
1.com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: c ...
- Eureka服务注册中心相关错误com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
启动项目报错如下 原因: 在默认设置下,Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以会出现 com.sun.jersey.api.client.ClientHandlerExce ...
- Elasticsearch Java client(ES Client 简介、Java REST Client、Java Client、Spring Data Elasticsearch)
elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介.Java REST Client.Java Client.Spri ...
- com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: con ...
- Eureka服务注册中心错误:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
报错信息 14:43:45.484 [main] INFO com.netflix.discovery.DiscoveryClient - Getting all instance registry ...
- 【转】C# client 与java netty 服务端的简单通信,客户端采用Unity
http://blog.csdn.net/wilsonke/article/details/24721057 近日根据官方提供的通信例子自己写了一个关于Unity(C#)和后台通信的类,拿出来和大家分 ...
- 从头写个http client(java)
不熟悉java,但我熟悉http,然后从头打造个简单的httpclient,支持get/post,支持gzip,支持重定向,支持encoding,支持transfer-encoding,支持ssl,支 ...
随机推荐
- js-之闭包的理解
说说你对闭包的理解? 答:闭包是能够读取其它函数内部变量的函数.本质上闭包是将函数内部和函数外部连接起来的一座桥梁.由于js的链式作用域,因为函数也是对象,函数内部访问函数外部的变量就类似于子对象一级 ...
- js关闭当前页面跳转新页面
页面代码: <p class="info"><span style="font-weight: bold">所属项目:</span ...
- python学习笔记(十四)之字典
字典:是python中唯一的映射类型,字典中每一项都是由键-值对组成的项.字典中没有索引,只有键和值.键的类型可以是整型,变量或字符串. 创建和访问字典: >>> dict1 = { ...
- css3同心圆闪烁扩散效果
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 机器学习-kNN(1)
一 kNN算法简介 kNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类对应的关系.输入 ...
- Linux命令之uptime
这是什么 uptime用来查看系统已经启动了多长时间了. 它显示的信息和w命令的头(第一行)是一样一样的. 举个栗子 举一个实际的应用场景: 比如发现服务器上的某些没有加入开机启动的服务挂了一片,这个 ...
- CMDB概述(二)
运维自动化路线: cmdb的开发需要包含三部分功能: ·采集硬件数据 ·API ·页面管理 执行流程:服务器的客户端采集硬件数据,然后将硬件信息发送到API,API负责将获取到的数据保存到数据库中, ...
- Flask 的一个小应用程序
传说这是Flask 的最小应用程序:hello.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_w ...
- Test plan
Options for Test Strategy: 1. Regular test: all the planned test cases will be executed 2. Extented ...
- Linux中等待队列的实现
1. 等待队列数据结构 等待队列由双向链表实现,其元素包括指向进程描述符的指针.每个等待队列都有一个等待队列头(wait queue head),等待队列头是一个类型为wait_quequ ...