当前位置: 首页 > 知识库问答 >
问题:

spring cloud refresh配置属性

谈桐
2023-03-14

我想重新绑定configurationproperties数据。发布http://localhost:8080/env,它正在工作。但是发送http://localhost:8080/env/reset不能刷新所有配置。只能刷新访问过/env的键。我想刷新所有配置,该怎么办?

http://projects.spring.io/spring-cloud/spring-cloud.html#_endpoint

共有1个答案

桂高义
2023-03-14

将键值对发送到/env将触发重新绑定。如果managerpropertysource不为空,则向/env/reset发帖也会触发。

如果不是通过发布/env来更新环境,则可以使用endpoint/refresh

@ManagedOperation
public Map<String, Object> reset() {
    Map<String, Object> result = new LinkedHashMap<String, Object>(map);
    if (!map.isEmpty()) {
        map.clear();
        publish(new EnvironmentChangeEvent(publisher, result.keySet()));
    }
    return result;
}

@ManagedOperation
public void setProperty(String name, String value) {

    if (!environment.getPropertySources().contains(MANAGER_PROPERTY_SOURCE)) {
        synchronized (map) {
            if (!environment.getPropertySources().contains(MANAGER_PROPERTY_SOURCE)) {
                MapPropertySource source = new MapPropertySource(
                        MANAGER_PROPERTY_SOURCE, map);
                environment.getPropertySources().addFirst(source);
            }
        }
    }

    if (!value.equals(environment.getProperty(name))) {
        map.put(name, value);
        publish(new EnvironmentChangeEvent(publisher, Collections.singleton(name)));
    }

}
 类似资料:
  • 简介 Apache ShardingSphere 提供属性配置的方式配置系统级配置。 配置项说明 名称 数据类型 说明 默认值 sql-show (?) boolean 是否在日志中打印 SQL。 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。 如果开启配置,日志将使用 Topic ShardingSphere-SQL,日志级别是 I

  • 简介 Apache ShardingSphere 提供属性配置的方式配置系统级配置。 配置项说明 名称 数据类型 说明 默认值 sql-show (?) boolean 是否在日志中打印 SQL。 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。 如果开启配置,日志将使用 Topic ShardingSphere-SQL,日志级别是 I

  • 我希望将concur严格用作配置源。我正在使用spring cloud Consor配置来获取配置。我正在使用git2consul将文件加载到Consor并读取它们。根据spring云文档,我在构建中添加了以下内容。格拉德尔 并在我的application.properties 我面临的问题是,预期的属性没有加载到ConfigurationProperties bean中。在ConsultProp

  • 主要内容:1. 概述,2. 源码解析1. 概述 属性配置 如果你的应用足够简单,例如,不需要多注册中心或多协议,并且需要在spring容器中共享配置,那么,我们可以直接使用 dubbo.properties作为默认配置。 Dubbo可以自动加载classpath根目录下的dubbo.properties,但是你同样可以使用JVM参数来指定路径:-Ddubbo.properties.file=xxx.properties。 重写与优先

  • Type: String 或 Object 用于设置页面切换过渡效果的默认属性值。 默认值: { name: 'page', mode: 'out-in' } 例如 (nuxt.config.js): module.exports = { transition: 'page' // or transition: { name: 'page', mode: 'ou

  • 类型: String 默认值:rootDir 的值 设置 Nuxt.js 应用的源码目录 例如 (nuxt.config.js): module.exports = { srcDir: 'client/' } 此时,应用的目录结构应为: -| app/ ---| node_modules/ ---| client/ ------| pages/ ------| components/ ---|

  • router 属性让你可以个性化配置 Nuxt.js 应用的路由(vue-router)。 base 类型: String 默认值: '/' 应用的根URL。举个例子,如果整个单页面应用的所有资源可以通过 /app/ 来访问,那么 base 配置项的值需要设置为 '/app/'。 例如 (nuxt.config.js): module.exports = { router: { bas

  • 类型: String 默认值: process.cwd() 设置 Nuxt.js 应用的根目录。 该配置项的值会被 nuxt 命令行 指定的路径参数覆盖(例如:nuxt my-app/ 会将 rootDir 的值覆盖设置为 my-app/ 目录对应的绝对路径)。 该配置项一般是 编码中使用 Nuxt.js 时才会被用到。 该配置项的一个限制是应用的 node_modules 目录必须在 rootD