SpringCloud-分布式配置中心【动态刷新】,java面向对象程序设计教程施珺答案

获取的是修改后的数据,说明启动客户端服务可以同步刷新配置信息。但是总归要重启服务,不是太方便,所以我们来考虑不重启服务来同步配置信息

二、动态刷新配置信息

========================================================================

此处我们可以使用actuator监控服务中的refuse命令来刷新服务。所以我们需要创建一个新的包含Actuator服务的配置中心客户端。

1.创建项目


在这里插入图片描述

2.pom文件


<project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

4.0.0

org.springframework.boot

spring-boot-starter-parent

1.5.13.RELEASE

com.bobo

config-client-refresh

0.0.1-SNAPSHOT

org.springframework.cloud

spring-cloud-dependencies

Dalston.SR5

pom

import

org.springframework.boot

spring-boot-starter-web

org.springframework.cloud

spring-cloud-starter-eureka

org.springframework.cloud

spring-cloud-starter-config

org.springframework.boot

spring-boot-starter-actuator

org.springframework.boot

spring-boot-maven-plugin

3.修改配置


spring.application.name=config-client-refresh

server.port=9051

#设置服务注册中心地址,指向另一个注册中心

eureka.client.serviceUrl.defaultZone=http://dpb:123456@eureka1:8761/eureka/,http://dpb:123456@eureka2:8761/eureka/

#默认 false,这里设置 true,表示开启读取配置中心的配置

spring.cloud.config

.discovery.enabled=true

#对应 eureka 中的配置中心 serviceId,默认是 configserver

spring.cloud.config.discovery.serviceId=config-server

#指定环境

spring.cloud.config.profile=dev

#git 标签

spring.cloud.config.label=master

#springboot 默认开启了权限拦截 会导致 /refresh 出现 401,拒绝访问

management.security.enabled=false

同时我们需要在码云中创建一个新的配置文件

在这里插入图片描述

在这里插入图片描述

4.刷新请求


因为refresh命令只支持post方式提交,所以我们不能直接在浏览器中访问。

在这里插入图片描述

现在获取信息

在这里插入图片描述

5.修改bean对象的作用域


在spring中bean对象默认是单例模式,所以即便项目被刷新了,成员变量的值也不会改变,所以我们需要改变了bean对象的作用域

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 杨教授大学堂,版权所有,盗版必究。 1/7 页 《面向对象编程与设计(Java) 》课后作业及参考解答 1.1.1 第一周 课程(9 月 4 日)的课后作业及参考解答 1、 请用 Java 程序示例说明什么是面向过程的程序设计方法、什么是面向对象的程序 设计方法? 面向过程就是分析出所需要开发的应用的系统在解决某个问题时所需要的步骤和工 作流程,然后用代码(当然应该把这些代码设计为各个函数或者过程)来表示这些步骤 的具体实现——面向过程是以过程为中心的编程思想。 而面向对象是把构成问题的各个方面分解成各个对象,并用代码来实现对象之间的 交互——面向对象是以事物为中心的编程思想。 (1)面向过程程序设计方法的示例 #include "stdio.h" int add(int a, int b){ //对数据的操作(方法或者函数) return a+b; } int main(){ //数据(属性或者状态) int x=1, y=1; int sum=add(x,y); print("Sum=%d",sum); } 面向过程程序的程序中的数据与方法是相互分离的!而面向对象程序中的数据与方 法是相互组合在一起的。 当数据(也就是问题的属性或者状态)发生变化,需要修改大量的关联的方法的程 序模块。 (2)面向对象程序设计方法的示例 import java.io.*; public class Add{ 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 杨教授大学堂,版权所有,盗版必究。 2/7 页 //数据(属性或者状态) private int sum; public int add(int a, int b){ //对数据的操作(方法或者函数) sum=a+b; return sum; } public void showSum() { //对数据的操作(方法或者函数) System.out.println("Sum="+sum); } public static void main(String args[]){ Add oneAdd=new Add(); oneAdd.add(1,2); oneAdd.showSum(); } } 2、谈谈你对开源的理解(可以是任何方面的主题) ,你熟悉 J2EE 平台中的哪些开源框 架、对这些开源框架的熟悉程度怎样(包括在项目中的具体应用) (1)开源软件 1) 开源软件一定是源代码开放,任何人可以免费使用,任何人可以再开发; 2) 开源同时也是一种商业运营手段,软件免费提供但服务收费。 3) 开源软件有别于自由软件——自由、免费、公开与分享,许多开源软件有"许 可证"的限制。 (2)J2EE 平台中的哪些开源框架 S2SH——Struts2、Spring 和 Hibernate 等表现层框架、应用层框架和持久层框架。 1.1.2 第二周 课程(9 月 11 日)的课后作业及参考解答 1、请用 Java 程序示例说明什么是 Java 中的静态多态性和动态多态性? (1)静态多态性是指在编译程序代码时,编译器就会根据参数的不同而调用不同的方 杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料 杨教授大学堂,版权所有,盗版必究。 3/7 页 法,并且跟具体的方法体结合起来,生成最终的程序代码。 实现的具体手段是应用方法重载。 (2)动态多态性是指在编译程序代码时,编译器不会将某一方法体的调用和方法体结 合起来,而是在程序执行过程中根据对象的实际类型选择相应的方法体,再最终生成对 应的程序代码。 实现的具体手段是应用方法重写。 2、软件业一直在探讨,如何使软件实现如同传统产业一样的大规模生产。软件工程的 提出,便是为了实现这个愿望。然而,虽然软件工程至今已经有了很大的发展,软件的 大规模工业化生产仍然没有实现。您认为原因何在? (1)张三同学的解答 软件业不是一个孤立的行业,它具有很大的依附性。它必须依附在计算机硬件上 才能生存,否则无影无踪;它必须依附在各行各业的业务需求中才能发展,否则无人问 津。这种独一无二的依附性决定了软件产业的发展步伐:既不能超前,也不能落伍。 随着计算机硬件技术呈摩尔定律向前发展,以及计算机应用向社会生产和社会生 活的广泛渗透,计算机软件技术必须迎头赶上。为了解决生产率问题,人们提出了面向 对象技术和构件生产;为了解决质量问题,人们提出了软件过程控制和 CMM;为了解决 成本问题,人们提出了软件复用技术。这些原理的提出和技术的应用,极大提高了软件 开发的效率。 但令人遗憾的是软件工程的实践非常令人失望。大量的软件项目不能按照人们的 计划实施和完成,持续了二三十年的软件危机变得更加突出。暮然回首,人们

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值