Nacos配置更新不生效问题
问题描述
在今天将项目部署到服务器上时发现即使将文件模块的上传地址改为了服务器地址,但是使用时,访问的依然是本地测试使用的127.0.0.1,不能实现根据nacos配置实时更新。当然在重构这个模块时能正常使用。
解决方法
即使在我们修改了nacos配置之后,模块输出了配置更新信息,但是确是不能生效的,如下图:
file:
domain: http://127.0.0.1:9300
path: C:/uploadPath
prefix: /stat..., type=yaml
此时我们只需要在取此配置值的代码处,加入注解@RefreshScope
即可,如下:
@Primary
@Service
@RefreshScope
public class LocalSysFileServiceImpl implements ISysFileService
{
/**
* 资源映射路径 前缀
*/
@Value("${file.prefix}")
public String localFilePrefix;
/**
* 域名或本机访问地址
*/
@Value("${file.domain}")
public String domain;
/**
* 上传文件存储在本地的根路径
*/
@Value("${file.path}")
private String localFilePath;
}