首页 > 解决方案 > How to watch ConfigMap with sharedInformer

问题描述

How to watch changes in configMaps using sharedInformer ? I tried something and I see in log that configMaps is watched but when I change some property in configMap I still see old value:

@PostConstruct
public void watch() {
    SharedInformerFactory sharedInformerFactory = client.informers();
    SharedIndexInformer<ConfigMap> configMapInformer = sharedInformerFactory.sharedIndexInformerFor(ConfigMap.class,
            ConfigMapList.class, 10 * 1000L);
    configMapInformer.addEventHandler(new ResourceEventHandler<ConfigMap>() {
        @Override
        public void onAdd(ConfigMap configMap) {
            System.out.println("ConfigMap " + configMap.getMetadata().getName() + " got added");
        }

        @Override
        public void onUpdate(ConfigMap oldConfigMap, ConfigMap newConfigMap) {
            System.out.println("ConfigMap " + oldConfigMap.getMetadata().getName() + " got updated");
        }

        @Override
        public void onDelete(ConfigMap configMap, boolean deletedFinalStateUnknown) {
            System.out.println("ConfigMap " + configMap.getMetadata().getName() + " got deleted");
        }
    });

    sharedInformerFactory.startAllRegisteredInformers();
}

I was following this example

标签: javaspring-bootkubernetes

解决方案


推荐阅读