Skip to content

configuration item listen

chengyouling edited this page Nov 1, 2023 · 1 revision

监听配置中心配置

Servicecomb配置中心每次更新、添加、删除配置时,都会发布ConfigurationChangedEvent事件,如果业务需要根据某个配置改变作对应的处理,可以监听ConfigurationChangedEvent事件,判断对应的key后处理对应的业务。

监听配置中心配置代码demo

@Component
public class ConfigListenTest {
  private static final Logger LOGGER = LoggerFactory.getLogger(ConfigListenTest.class);

  private static final String CONFIG_KEY = "test.name";

  public ConfigListenTest() {
    EventManager.register(this);
  }

  @Subscribe
  public void onConfigChanged(ConfigurationChangedEvent event) {
    LOGGER.info("receive new configurations, added=[{}], updated=[{}], deleted=[{}]",
        event.getAdded().keySet(),
        event.getUpdated().keySet(),
        event.getDeleted().keySet());
    if (event.getUpdated().containsKey(CONFIG_KEY)) {
    }
    if (event.getAdded().containsKey(CONFIG_KEY)) {
    }
    if (event.getDeleted().containsKey(CONFIG_KEY)) {
    }
  }
}

以上demo监听test.name配置值变化,根据不同的事件内容,执行相应的处理:

注意事项

以上内容必须在项目中开启了Servicecomb引擎配置中心才能实现。

Clone this wiki locally