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...
    }
}