Nacos服务列表有服务,但是配置列表不起作用。

想要重新再写一下springcloud alibaba 的组件配置,再另一个服务renren-product引入,nacos的注册发现和配置中心。前面都很顺利但是修改配置中心配置的时候不起作用!!! 另一个服务代码相同但是起作用了,对比了很多次,最终发现是poom文件的依赖问题!! 分享一下解决思路。

bug现场

请求端口
在这里插入图片描述
controller代码
在这里插入图片描述
application.properties
在这里插入图片描述
bootstrap.properties
在这里插入图片描述

nacos配置中心
在这里插入图片描述
具体配置
在这里插入图片描述

nacos服务列表
在这里插入图片描述
服务列表删除后又能重新生成一个实例对象,就说明加载nacos没问题。

解决思路

如果在 Nacos 服务列表中看到了 “gulimall-product” 服务,但 Nacos 配置中心对其配置没有作用,可能存在以下一些情况:

  1. 配置名称不匹配: 确保在 Nacos 配置中心中的配置项的名称(Data ID)与 “gulimall-product” 服务的应用名称或 Group 名称匹配。默认情况下,Nacos 使用服务名称作为 Group 名称,因此 Data ID 应该是类似于 gulimall-product.properties 的形式。

  2. 配置生效范围: 确保配置项的生效范围正确。在 Nacos 中,配置项可以设置为全局配置或特定服务的配置。如果配置项的生效范围设置为全局,它将应用于所有服务,而不仅仅是 “gulimall-product”。

  3. 配置版本: 检查配置项的版本是否与 “gulimall-product” 服务的版本匹配。如果你在配置项中指定了版本,确保服务也使用相同的版本。

  4. 配置刷新: 如果你在 Nacos 配置中心中修改了配置,但没有触发配置的刷新,那么服务可能仍然使用之前的配置。确保配置的刷新机制已经正确配置,并且服务能够接收到配置的更改通知。

  5. 服务的配置读取: 确保 “gulimall-product” 服务在启动时正确地读取了配置项。如果服务没有正确配置配置中心的客户端或未正确处理配置,那么它可能不会使用配置中心的配置。

  6. 配置项的优先级: 如果在服务的配置中已经定义了某些配置,这些配置可能会覆盖来自配置中心的配置。确保没有在服务本地配置中硬编码了与配置中心配置冲突的值。

  7. Nacos 配置中心的问题: 有时 Nacos 配置中心本身可能出现问题,导致配置无法正确发布或生效。检查 Nacos 配置中心的状态和日志以查看是否存在任何问题。

如果以上情况都排除并且问题仍然存在,建议检查服务的日志以查看是否有有关配置读取和生效的错误或警告信息。同时,确保服务已正确集成 Nacos 配置中心的客户端,并且在应用启动时能够成功连接到 Nacos 服务器并获取配置。如果仍然无法解决问题,可能需要详细查看服务的代码和配置,以确定问题的根本原因。

POM文件

因为product和coupon服务共同依赖了,common服务。所以就没往pom文件配置的方面想。后面是在没办法,就是一行行对比Maven依赖!!最终发现product服务没有依赖这个spring-cloud-starter-bootstrap,这个包。

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

恶心的是因为在application.properties中设置了,注入的值。所以不会报错!!

启动日志排查

在这里插入图片描述
配置文件不起作用从启动日志框起来的地方也能看到。

完整pom文件

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.atguigu.gulimall</groupId>
    <artifactId>gulimall-product</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gulimall-product</name>
    <description>商品服务</description>
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>2021.0.3</spring-cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.atguigu.gulimall</groupId>
            <artifactId>gulimall-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

nacos配置中心部署流程

  • 1、如何使用nacos作为配置中心来统一配置管理
  • 1)、引入依赖
          <dependency>
              <groupId>com.alibaba.cloud</groupId>
              <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
          </dependency>
  • 2)、创建一个bootstrap.properties
  •  spring.application.name=gulimall-coupon
    
  •  spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    

切记!切记!切记!检查pom文件是否配置加载bootstrap.properties的包

  • 3)、需要给配置中心默认添加一个叫数据集(Data Id) gulimall-coupon.properties。默认规则,应用名.properties
  • 4)、给 应用名.properties 添加任何配置
  • 5)、动态获取配置 Controller层添加
  •  @RefreshScope:动态获取并刷新配置
    
  •  @Value("${配置项的名}"):获取到配置
    

如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用和的内容,你遇到的问题是nacos配置中心不生效的情况。你按照官方步骤新建了bootstrap.properties文件,并在其中添加了@Value和@RefreshScope注解,同时在nacos中也按照步骤新建了配置。然而,修改配置中心的值后,通过@Value读取到的仍然是旧值。 有几种可能的解决方案可以尝试。首先,根据引用的内容,你可以检查是否选择了正确的nacos启动模式。确保你选择的是standalone模式而不是集群模式。 其次,根据引用的内容,即使你已经在注解中添加了@RefreshScope,仍然可能无法获取到最新的配置值。你可以尝试重启应用程序以查看是否能够获取到最新的配置值。 此外,还可以尝试删除配置文件中的空行和注释,如引用所述。有时候这些无关的字符可能会影响配置的解析和生效。 最后,如果上述解决方案都没有效果,你可以尝试在更广泛的资源中搜索其他解决方案。虽然网上的解决方案五花八门,但可能有人遇到了类似的问题并找到了有效的解决方法。 总之,你可以尝试以上提到的解决方案来解决nacos配置中心不生效的问题。希望能对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Nacos配置中心不起作用解决方案及解决思路](https://blog.csdn.net/HeyWeCome/article/details/121213427)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [nacos配置中心不生效的解决方案](https://blog.csdn.net/qq_43753724/article/details/121565992)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [spring cloud 引入nacos config配置不生效](https://blog.csdn.net/sushuiyuzhou/article/details/126689929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值