[alibaba/nacos]修改prefix和file-extension无效,项目依然按${spring.application.name}.properties的dataid从nacos读取

2022-02-20 216 views
7

Nacos运行在windows系统中,1.4.2和2.0.3都试过了

我在application.yml如下配置: spring: application: name: order-service cloud: nacos: config: file-extension: yaml prefix: guo server-addr: 127.0.0.1.8848

那我在nacos中创建guo.yaml的dataid配置文件即可进行读取,但是项目只能读取order-service.properties的dataid配置文件

这是项目控制台的信息:[fixed-localhost_8848] [add-listener] ok, tenant=, dataId=order-service.properties, group=DEFAULT_GROUP, cnt=1

nacos1.4.2&2.0.3 windows11 springboot 2.3.2.RELEASE springcloud Hoxton.SR9 springcloud Alibaba 2.2.6.RELEASE

回答

3

简单跟进了下,初步判断可能是参数解析时出现了异常。@ i will resolve it.

2

请问您那边是复现了吗

2

是的

2

这个好像是整个nacos的配置读取都失效了,我刚刚配置server-addr为云服务器也无效,默认按localhost:8848注册

3

后续我详细跟进一下,看看有什么问题,然后会在这issue进行回复。

2

好的,谢谢

3

server.port=8082 spring.application.name=nacos-consumer spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 management.endpoints.web.exposure.include=*

自定义数据id

spring.cloud.nacos.config.ext-config.data-id=nacos-consumer-local.yaml

自定义组

spring.cloud.nacos.config.ext-config.group=DEFAULT_GROUP

使用yaml拓展名的配置文件

spring.cloud.nacos.config.file-extension=yaml

禁用Spring Cloud Nacos Config自动配置

spring.cloud.nacos.config.enabled=false 这是我的配置,也同样存在nacos-consumer-local.yaml这个配置文件不生效,而nacos-consumer-local.properties就生效.

以上配置是由于配置在application.properties里面,所以导致无效,后来改为了bootstrap.properties才生效,这是我对springboot的bootstrap配置和application配置不了解造成的原因

1

我也是同样的问题 而且端点查看配置已经被读取了 只不过破坏了yaml的结构 是逐行读取

6

你的配置是放在什么文件里面的

9

问题已经解决 但是不妨碍这个bug的奇葩性质

解决方式为 克隆一份dataid为 a 的配置 重命名为 a.yaml, 然后 extension-config 中配置 a.yaml 后可以正常读取

@as3324