NacosConfigManager
Spring Cloud Alibaba注册了NacosConfigManager,可以从中获取到ConfigService,再调用ConfigService.addListener(String dataId, String group, String timeout, Listener listner)添加监听器。
@Component
public class MyConfigListener {
@Autowired
private NacosConfigManager nacosConfigManager;
private final String group = "DEFAULT_GROUP";
private final String dataId = "config.yaml";
private final List<String> routeIds = new ArrayList<>();
@PostConstruct
public void init() throws NacosException {
ConfigService configService = nacosConfigManager.getConfigService();
// 或String config = configService.getConfigAndSignListener(); 同时获取一次配置
configService.addListener(dataId, group, 5000, new Listener() {
@Override
public Executor getExecutor() {
return null;
}
@Override
public void receiveConfigInfo(String config) {
update(config);
}
});
}
private void update(String config) {
// do something...
}
}@NacosConfigListener
版本要求:
- 2023.x 系列:≥ 2023.0.3.2
- 2022.x 系列:≥ 2022.0.0.2
- 2021.x 系列:≥ 2021.0.6.2
- 2.2.x 系列:≥ 2.2.11
@Component
public class MyConfigListener {
@NacosConfigListener(dataId = "config.yaml", group = "DEFAULT_GROUP")
public void rate(String config) {
// do something...
}
}