当前位置: 首页 > news >正文

徐州高端品牌网站建设/手机百度网页版入口

徐州高端品牌网站建设,手机百度网页版入口,找人做网站价格,武汉营销型网站建设公司哪家专业点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!准备工作环境以及版本:SpringBoot 2.1.3.RELEASESpringCloud Greenwich.RELEASEJdk 1.8Gradle 5.2.1说明以下改造均在子项目进行操作,父项目的github地址,下述需下载…

点击上方“Java知音”,选择“置顶公众号”

技术文章第一时间送达!

准备工作

环境以及版本:
  • SpringBoot 2.1.3.RELEASE

  • SpringCloud Greenwich.RELEASE

  • Jdk 1.8

  • Gradle 5.2.1+

说明

以下改造均在子项目进行操作,父项目的github地址,下述需下载父项目用来管理公共依赖:?

https://github.com/cuifuan/springcloud-tools

1.改造你的 config-server

1.1 构建配置文件 build.gradle
dependencies?{
????implementation?"org.springframework.cloud:spring-cloud-config-server"
????implementation?"org.springframework.cloud:spring-cloud-bus"
????implementation?"org.springframework.cloud:spring-cloud-starter-bus-amqp"
}
1.2 配置文件 application.yml
server:
??port:?7001
spring:
??application:
????name:?config-server
??cloud:
????config:
??????server:
????????git:
??????????uri:?git地址?#例如https://github.com/cuifuan/springcloud-configuration.git
??????????search-paths:?仓库文件下文件夹
??????????default-label:?master
??????????username:?git账号
??????????password:?git密码
????bus:
??????trace:
????????enabled:?true
??rabbitmq:
????host:?rabbitmq地址
????port:?5672
????username:?rabbit账号【默认:guest】
????password:?rabbit密码【默认:guest】
????virtual-host:?/
eureka:
#?修改在服务中心的地址status为?ip+端口?【例如:10.0.0.100:88】
??instance:
????prefer-ip-address:?true
????instance-id:?${spring.cloud.client.ip-address}:${server.port}
??client:
????serviceUrl:
??????defaultZone:?http://springcloud-tools:8761/eureka/
info:
??app:
????description:?This?is?Spring?Cloud?remote?Registration?center.
????name:?tools-config-server
????version:?0.0
management:
??endpoint:
????bus-refresh:
??????enabled:?true
??endpoints:
????web:
??????exposure:
????????include:?refresh,bus-refresh
1.3 启动类 ToolsConfigServerAppliaction.java
package?store.zabbix.config;

import?org.springframework.boot.SpringApplication;
import?org.springframework.cloud.client.SpringCloudApplication;
import?org.springframework.cloud.config.server.EnableConfigServer;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RestController;

@EnableConfigServer
@SpringCloudApplication
@RestController
public?class?ToolsConfigServerAppliaction?{

????public?static?void?main(String[]?args)?{
????????SpringApplication.run(ToolsConfigServerAppliaction.class,?args);
????}

????@RequestMapping("/")
????public?String?home()?{
????????return?"Hello?World!?My?name?is?configserver.";
????}

}

2. 改造你的 config-client (客户端)

用来读取配置文件的

2.1 构建配置文件 build.gradle
dependencies?{
????implementation?'org.springframework.cloud:spring-cloud-starter-config'
????implementation?"org.springframework.cloud:spring-cloud-bus"
????implementation?"org.springframework.cloud:spring-cloud-starter-bus-amqp"
}
2.2 配置文件 bootstrap.yml
spring:
??cloud:
????config:
??????name:?tools-config-client?????#对应{application}部分
??????profile:?dev??????????????????#对应{profile}部分
??????#uri:?http://localhost:8888/??#配置中心的具体地址
??????label:?master?????????????????#对应git的分支。如果配置中心使用的是本地存储,则该参数无用
??????discovery:
????????enabled:?true?????????????????#开启Config服务发现支持
????????service-id:?config-server???#指定配置中心的service-id,便于扩展为高可用配置集群。
eureka:
??instance:
????prefer-ip-address:?true
????instance-id:?${spring.cloud.client.ip-address}:${server.port}
??client:
????service-url:
??????defaultZone:?http://springcloud-tools:8761/eureka/
2.2 配置文件 application.yml
server:
??port:?7003
spring:
??application:
????name:?tools-config-client
??cloud:
????config:
??#配置重试机制
??????retry:
????????initial-interval:?2000
????????max-attempts:?2000
????????max-interval:?2000
????????multiplier:?1.2
??????fail-fast:?true
????bus:
??????#动态刷新配置
??????refresh:
????????enabled:?true
??????#跟踪总线事件
??????trace:
????????enabled:?true
??rabbitmq:
????host:?rabbitmq地址
????port:?5672
????username:?rabbit账号【默认:guest】
????password:?rabbit密码【默认:guest】
#配置actuator
#?1.X版本的springboot?配置:?management.security.enabled=false??已经作废
#关闭安全认证
management:
??endpoint:
????bus-refresh:
??????enabled:?true
??#refresh接入点显式暴露出来
??endpoints:
????web:
??????exposure:
????????include:?refresh,bus-refresh
2.3 启动类 ConfigClientApplication.java

注意:一定不要忘了加@RefreshScop注解

package?store.zabbix.configreader;

import?org.springframework.beans.factory.annotation.Value;
import?org.springframework.boot.SpringApplication;
import?org.springframework.boot.autoconfigure.SpringBootApplication;
import?org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import?org.springframework.cloud.context.config.annotation.RefreshScope;
import?org.springframework.web.bind.annotation.GetMapping;
import?org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
@RefreshScope
@EnableDiscoveryClient
public?class?ConfigClientApplication?{

????/**?????*?http://localhost:8881/actuator/bus-refresh?????*/

????public?static?void?main(String[]?args)?{
????????SpringApplication.run(ConfigClientApplication.class,?args);
????}

????@Value("${message}")
????String?message;

????@GetMapping("/hello")
????public?String?getMessage(){
????????return?message;
????}

}

3.远程配置文件

b118b7d83e764dab5547c4f90506cc01.png

4.操作流程

  • 启动config-server

  • 启动config-client

  • 访问http://127.0.0.1:7003/hello

  • 之后更改远程仓库配置文件,提交

  • 访问http://127.0.0.1:7003/hello发现无变化

  • 用postman做post请求http://10.0.0.82:7001/actuator/bus-refresh或者用?curl -X POST http://10.0.0.82:7001/actuator/bus-refresh

  • 再次访问http://127.0.0.1:7003/hello

这个时候的读取的配置文件已发生变化

5.需要注意的坑

  • 请确定你的rabbitmq是通的,guest账户无法通过远程ip访问

  • 注意上面的ip地址,我是这边测试使用,请更改成个人正确或者本地

  • springboot2.x之后bus刷新地址更改为?/actuator/bus-refresh

  • springboot和springcloud版本要一致,其他版本没试过


加入Java知音技术交流,戳这里:Springboot技术交流群

更多Java技术文章,尽在【Java知音】网站。

网址:www.javazhiyin.com? ,搜索Java知音可达!

看完本文有收获?请转发分享给更多人

d78d62ee8dd6a5a79e8e1b23b8aefe0b.png

相关文章:

  • 找人建个网站多少钱/sem优化价格