修改 Nacos 配置时动态刷新 Bean 实例(Kotlin 版)

如果配置类上使用了 `@ConfigurationProperties` 注解,在修改 Nacos 配置时会动态刷新属性的值,但如果通过 `@Value` 注解或者根据配置类创建的 Bean 则不会动态更新。使用 `@RefreshScope` 注解则可以在不重启应用的情况下动态刷新 Bean 实例。
Nacos 获取配置时启用权限认证

默认情况下获取 Nacos 中的配置是不需要权限认证的,这个估计是由其使用场景决定的 (绝大多数都是仅内网可访问).

今天调查了下如何在获取配置时增加权限验证以提高其安全性。

1. 启用 Nacos 的权限认证

只要 nacos.core.auth.enabled 设置为 true 就行了。

### If turn on auth system:
nacos.core.auth.enabled=true
隐藏 Nacos 打印的大量心跳日志

项目依赖如下(其中 nacos-client 版本为 1.1.4):

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-nacos-config</artifactId>
    <version>2.1.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
    <version>2.1.1.RELEASE</version>
</dependency>
Java 命令启动时解析 nacos yaml 配置出错的问题

在 IDEA 中启动应用是正常的,但是通过如下 java 命令运行时会报错。

java -jar a-application-1.0-RELEASE.jar