-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nacos 配置中心刷新数据 不生效 #1960
Comments
请看下{user.home}/logs/nacos/config.log里面是否有收到推送? |
Whether to use spring-cloud |
我也是这样的问题 控制台打印了推送的新的配置信息,但是没有办法实现自动刷新 springcloud工程 已添加@RefreshScope注解 |
这个问题大家是如何解决的 |
我控制台也收到了刷新的信息 但是不生效 |
参考 用@value注入的配置文件无法刷新。 @RefreshScope |
试了,也不行 |
我试过 ,可以的呀在属性上加value("${****}"),在该属性的类上加注解@RefreshScope
把配置信息写在nacos配置中心就好啦,之后改变值就会自动刷新,不需要重启项目
…------------------ 原始邮件 ------------------
发件人: "王雷"<notifications@github.com>;
发送时间: 2020年12月11日(星期五) 晚上6:11
收件人: "alibaba/nacos"<nacos@noreply.github.com>;
抄送: "蔡呈杰"<1061691343@qq.com>; "Comment"<comment@noreply.github.com>;
主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960)
参考
将配置映射到实体对象,上面添加@RefreshScope 可以实现动态刷新
用@value注入的配置文件无法刷新。
@RefreshScope
@ConfigurationProperties(prefix = "user")
@component
@DaTa
public class User {
private String name;
}
试了,也不行
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
你好,不知道您是如何配置的呀 给不了答复
…------------------ 原始邮件 ------------------
发件人: "zzx131"<notifications@github.com>;
发送时间: 2020年12月7日(星期一) 下午3:23
收件人: "alibaba/nacos"<nacos@noreply.github.com>;
抄送: "蔡呈杰"<1061691343@qq.com>; "Comment"<comment@noreply.github.com>;
主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960)
这个问题解决了吗?今天遇到这个问题,没有重新加载配置中心的配置,版本spring-cloud-starter-alibaba-nacos-config -2.2.1
Listener listener = listenerMap.computeIfAbsent(key,
lst -> new AbstractSharedListener() {
@OverRide
public void innerReceive(String dataId, String group,
String configInfo) {
refreshCountIncrement();
nacosRefreshHistory.addRefreshRecord(dataId, group, configInfo);
// todo feature: support single refresh for listening
applicationContext.publishEvent(
new RefreshEvent(this, null, "Refresh Nacos config"));
if (log.isDebugEnabled()) {
log.debug(String.format(
"Refresh Nacos config group=%s,dataId=%s,configInfo=%s",
group, dataId, configInfo));
}
}
});
—
您收到评论是因为您对此发表了评论。
直接回复此电子邮件,在GitHub上查看,或取消订阅。
|
你用的nacos是哪个版本的? |
1061691343 直接加qq聊吧 邮件发的很慢
…------------------ 原始邮件 ------------------
发件人: "王雷"<notifications@github.com>;
发送时间: 2020年12月14日(星期一) 上午9:45
收件人: "alibaba/nacos"<nacos@noreply.github.com>;
抄送: "蔡呈杰"<1061691343@qq.com>; "Comment"<comment@noreply.github.com>;
主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960)
我试过 ,可以的呀在属性上加value("${****}"),在该属性的类上加注解@RefreshScope 把配置信息写在nacos配置中心就好啦,之后改变值就会自动刷新,不需要重启项目
…
------------------ 原始邮件 ------------------ 发件人: "王雷"<notifications@github.com>; 发送时间: 2020年12月11日(星期五) 晚上6:11 收件人: "alibaba/nacos"<nacos@noreply.github.com>; 抄送: "蔡呈杰"<1061691343@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960) 参考 将配置映射到实体对象,上面添加@RefreshScope 可以实现动态刷新 用@value注入的配置文件无法刷新。 @RefreshScope @ConfigurationProperties(prefix = "user") @component @DaTa public class User { private String name; } 试了,也不行 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
你用的nacos是哪个版本的?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
换了一个版本,可以了... |
ok
…------------------ 原始邮件 ------------------
发件人: "王雷"<notifications@github.com>;
发送时间: 2020年12月14日(星期一) 下午2:29
收件人: "alibaba/nacos"<nacos@noreply.github.com>;
抄送: "蔡呈杰"<1061691343@qq.com>; "Comment"<comment@noreply.github.com>;
主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960)
1061691343 直接加qq聊吧 邮件发的很慢
…
------------------ 原始邮件 ------------------ 发件人: "王雷"<notifications@github.com>; 发送时间: 2020年12月14日(星期一) 上午9:45 收件人: "alibaba/nacos"<nacos@noreply.github.com>; 抄送: "蔡呈杰"<1061691343@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960) 我试过 ,可以的呀在属性上加value("${****}"),在该属性的类上加注解@RefreshScope 把配置信息写在nacos配置中心就好啦,之后改变值就会自动刷新,不需要重启项目 … ------------------ 原始邮件 ------------------ 发件人: "王雷"<notifications@github.com>; 发送时间: 2020年12月11日(星期五) 晚上6:11 收件人: "alibaba/nacos"<nacos@noreply.github.com>; 抄送: "蔡呈杰"<1061691343@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960) 参考 将配置映射到实体对象,上面添加@RefreshScope 可以实现动态刷新 用@value注入的配置文件无法刷新。 @RefreshScope @ConfigurationProperties(prefix = "user") @component @DaTa public class User { private String name; } 试了,也不行 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. 你用的nacos是哪个版本的? — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
换了一个版本,可以了...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
@mrwlei 你用的哪个版本? |
1.2.1
…------------------ 原始邮件 ------------------
发件人: "alibaba/nacos" <notifications@github.com>;
发送时间: 2020年12月16日(星期三) 下午2:19
收件人: "alibaba/nacos"<nacos@noreply.github.com>;
抄送: "蔡呈杰"<1061691343@qq.com>;"Comment"<comment@noreply.github.com>;
主题: Re: [alibaba/nacos] nacos 配置中心刷新数据 不生效 (#1960)
@mrwlei 你用的哪个版本?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
这个好像主要是在用到@value的类上面加上@RefreshScope注解,另外可能是springboot的版本跟nacos-config版本差异大(我springboot2.3.4,nacos-config2.2.3没问题) |
在ideal里可以生效,但打成jar运行就只能监听到更新事件,但无法生效 |
spring cloud 版本:2.2.0.RELEASE 在idea内无法刷新配置中心数据,以jar运行可以正常刷新。 |
我升级了最新版本 1.4.1 好像是@RefreshScope和@value 必须同时使用的时候才能热加载实时数据。但是以前1.3.0的时候 没有这个限制,不知道是不是又是一个新的bug。如果按照现在这个规矩 两个必须一起用才生效,这也太麻烦了吧!!! |
我也是1.4.1升级后发现这个问题,今天找半天,,。我的代码springcloud版本没做任何改动,推测nacos1.4.1引入的问题? |
你的配置要是在共享配置文件,要如下方式启用刷新,参考:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
|
今天也有遇到这个情况,不过我解决了。很大概率是因为项目启动后因为某些原因无法完成ApplicationReadyEvent事件,导致了NacosContextRefresher 的监听没法执行ready事件。 |
请问一下您是怎么解决的,谢谢! |
@EnableConfigurationProperties({xx.class}),添加这个注解在Application类下,就可以动态更新。 |
我也遇到这问题了。。。无语 |
刚解决这个问题,我是因为bootstrap.properties没起作用,添加相关依赖就可以了。可以看下这篇博客:Nacos配置中心不起作用解决方案 |
谢谢你的来信蔡呈杰已经收到辛苦了~
|
我遇到的问题和你一样的,有初步怀疑是其他依赖导致的 |
bootstrap.yml 配置的 spring:
application:
# 必须把name属性从application.yml迁移过来,否则无法动态刷新
name: coupon-customer-serv
cloud:
nacos:
config:
# prefix: 文件名前缀,默认是spring.application.name
file-extension: yml 还有就是 @value 和 @RefreshScope 两个注解搭配使用,@RefreshScope 的作用是使用 Nacos 动态刷新的值来替换 Spring Context Nacos 版本是 |
谢谢你的来信蔡呈杰已经收到辛苦了~
|
我用的2021.0.5.0版本的(应该对应的是Spring Boot2的最后一个版本),也发现无法自动更新 前提:我没有用bootstrap.properties,nacos的config配置是写在application.yml里 解决:application.yml配置里需要加一个preference: remote的属性
不知道是从哪个版本开始本地配置的优先级变的更高了,而且关于这个属性我也找不到相关文档。 |
谢谢你的来信蔡呈杰已经收到辛苦了~
|
目前应该是需要再bootstrap.properties中添加spring.application.name,o.s.c.e.event.RefreshEventListener : Refresh keys changed数据才不为空 |
谢谢你的来信蔡呈杰已经收到辛苦了~
|
感恩 完美解决 |
谢谢你的来信蔡呈杰已经收到辛苦了~
|
已解决,谢谢哥 |
谢谢你的来信蔡呈杰已经收到辛苦了~
|
我遇到的是Refresh keys changed: [],用这个方法解决,谢谢。 |
谢谢你的来信蔡呈杰已经收到辛苦了~
|
nacos 2.1.1 |
回答总结:
|
谢谢你的来信蔡呈杰已经收到辛苦了~
|
使用配置中心,修改数据后不生效,控制台监听到了修改动作,[notify-listener] time cost=1ms in ClientWorker, dataId=
Using the configuration center, the data modification does not take effect. The console monitors the modification action, [notify listener] time cost = 1ms in clientworker, dataid.=
The text was updated successfully, but these errors were encountered: