disconf-client-for-java

一、disconf客户端部署

disconf目前仅支持java客户端,下文针对java客户端安装作为整理,记录下安装部署的步骤

1.环境依赖

首先需要安装java环境及maven环境,不再过多介绍

2.下载disconf-for-java客户端

  [[email protected] client]# git clone https://github.com/knightliao/disconf-demos-java.git

[[email protected] 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客户端下载的配置文件
[[email protected] rd]# vim /data/disconf/client/disconf-demos-java/disconf-standalone-demo/profile/rd/disconf.properties   

[[email protected] 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下载)
[[email protected] resources]# vim /data/disconf/client/disconf-demos-java/disconf-standalone-demo/src/main/resources/applicationContext.xml

 26     <!-- 使用托管方式的disconf配置(无代码侵入, 配置更改会自动reload)-->
 27     <bean id="configproperties_disconf"
 28           class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
 29         <property name="locations">
 30             <list>
 31                 <value>classpath:/server.cfg</value>    #从disconf-web下载的文件,存放在discon-web服务器上面,启动disconf-client客户端,文件将会被下载
 32                 <value>classpath:/settings.py</value>   #从disconf-web下载的文件,存放在disconf-web服务器上面,启动disconf-client客户端,文件将会被下载
 37             </list>
 38         </property>
 39     </bean>

3.使用maven构建项目

[[email protected] disconf-demos-java]# pwd
/data/disconf/client/disconf-demos-java
[[email protected] disconf-demos-java]# mvn package                   #构建下载环境依赖
[[email protected] disconf-demos-java]# cd disconf-standalone-demo/
[[email protected] disconf-standalone-demo]# cat README.md            #查看readme说明
[[email protected] disconf-standalone-demo]# mvn clean package        #构建环境,生成target目录

[[email protected] disconf-standalone-demo]# cd target/
[[email protected] target]# ls
classes disconf-standalone-demo.jar disconf-standalone-demo.tar.gz maven-archiver maven-status original-disconf-standalone-demo.jar starter-run
[[email protected] target]# cd starter-run/
[[email protected] starter-run]# ls
disconf.properties disconf-standalone-demo.jar env logback.xml start.sh stop.sh    #启动及停止客户端程序目录,disconf.properties为配置文件

4.启动client进程

[[email protected] starter-run]# sh start.sh   #启动进程
[[email protected] starter-run]# sh stop.sh    #停止进程

[[email protected] 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端修改文件内容,客户端会自动检测并下载更新.

时间: 2024-08-01 06:41:17

disconf-client-for-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 这种连接方式对应于架构图中的RESTful style API这一层,这种客户端的连接方式是RESTful风格的,使用http的方式进行连接 3.2 Transport 连接 端口 9300 这种连接方式对应于架构图中的Transport这一层,这种客户端连接方式是直接连接ES的节点,使用TCP的方式进行连接 4. ES提供了多种

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: connect 或者com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 原因如下: 在默认设置下,Eureka服务注册中心也会将自己作为客户端来尝试注

cassandra client in Java——cassandra总结(五)

cassandra client是基于Apache Thrift这个RPC框架来进行客户端和服务器的通信. 首先到$CASSANDRA_HOME\lib目录下导入apache-cassandra-thrift-2.1.11.jar,libthrift-0.9.2.jar这两个包,然后再导入单元测试JUnit包. import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.util.Arr

【转】C# client 与java netty 服务端的简单通信,客户端采用Unity

http://blog.csdn.net/wilsonke/article/details/24721057 近日根据官方提供的通信例子自己写了一个关于Unity(C#)和后台通信的类,拿出来和大家分享一下. 具体请参考: 1.java服务端用的apach.mina框架搭建.java服务端请参考:http://blog.9tech.cn/?c=site&m=article&id=548 2.C#环境:.NET framework 2.0 3.C#帮组文档,及Socket注解:http://

从头写个http client(java)

不熟悉java,但我熟悉http,然后从头打造个简单的httpclient,支持get/post,支持gzip,支持重定向,支持encoding,支持transfer-encoding,支持ssl,支持cdn.. 然后,我又失去了继续写博客的热情,直接上码算了. 算了,还是签到github算啦.这里实在不好贴. 请输入git命令获取: git clone [email protected]:suifei/microhttp.git https://github.com/suifei/microh

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect

或者com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server 原因如下: 在默认设置下,Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为. 禁止方式如下:在application.properties配置文件中增加以下内容 eureka.client.register-with-eureka=false

Java memcache Client 数据操作源码剖析

 在学习使用Java_Memcache操作memcache后,饶有兴趣的研究了一下Java_Memcache的源码.Java_Memcache在类AscIIClient中封装了数据操作方法set/add/delete/append/get等. 存储数据set 由Memcache命令详解,我们知道memcache原始的set命令格式为 set <key> <flag> <expiretime> <bytes> \r\n <value> \r\n

Java: server/client 心跳机制实现 示例

心跳机制 心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制. 大部分CS的应用需要心跳机制.心跳机制一般在Server和Client都要实现,两者实现原理基本一样.Client不关心性能,怎么做都行. 如果应用是基于TCP的,可以简单地通过SO_KEEPALIVE实现心跳.TCP在设置的KeepAlive定时器到达时向对端发一个检测TCP segment,如果没收到ACK或RST,尝试几次后,就认为对端已经不存在,最后通知应用程序.这里有个缺点是,S

java memcached client

Memcach什么是Memcache Memcache集群环境下缓存解决方案 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度. Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用. Memcac

Disconf

通常我们会做如下配置:(disconf 2.6.21) <!-- 一次扫描 --> <bean id="disconfMgrBean" class="com.baidu.disconf.client.DisconfMgrBean" destroy-method="destory"> <property name="scanPackage" value="com.cn.biz.config