/** * Check whether we should trigger the auto update or not. * <br /> * For added or modified keys, we should trigger auto update if the current value in Spring equals to the new value. * <br /> * For deleted keys, we will trigger auto update anyway. */ private boolean shouldTriggerAutoUpdate(ConfigChangeEvent changeEvent, String changedKey) { ConfigChange configChange = changeEvent.getChange(changedKey); if (configChange.getChangeType() == PropertyChangeType.DELETED) { return true; } return Objects.equals(environment.getProperty(changedKey), configChange.getNewValue()); }
@Override public void onChange(com.ctrip.framework.apollo.model.ConfigChangeEvent changeEvent) { for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); if ("".equals(change.getNewValue())) { logger.warn("an empty rule is received for " + key + ", the current working rule is " + change.getOldValue() + ", the empty rule will not take effect."); return; } ConfigChangeEvent event = new ConfigChangeEvent(key, change.getNewValue(), getChangeType(change)); listeners.forEach(listener -> listener.process(event)); } }
@Override public void onChange(com.ctrip.framework.apollo.model.ConfigChangeEvent changeEvent) { for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); if ("".equals(change.getNewValue())) { logger.warn("an empty rule is received for " + key + ", the current working rule is " + change.getOldValue() + ", the empty rule will not take effect."); return; } ConfigChangeEvent event = new ConfigChangeEvent(key, change.getNewValue(), getChangeType(change)); listeners.forEach(listener -> listener.process(event)); } }
@Override public void onChange(ConfigChangeEvent changeEvent) { logger.info("Changes for namespace {}", changeEvent.getNamespace()); for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); logger.info("Change - key: {}, oldValue: {}, newValue: {}, changeType: {}", change.getPropertyName(), change.getOldValue(), change.getNewValue(), change.getChangeType()); } } };
@Override public void onChange(ConfigChangeEvent changeEvent) { logger.info("Changes for namespace {}", changeEvent.getNamespace()); for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); logger.info("Change - key: {}, oldValue: {}, newValue: {}, changeType: {}", change.getPropertyName(), change.getOldValue(), change.getNewValue(), change.getChangeType()); } } };
change.setNewValue(this.getProperty(change.getPropertyName(), change.getNewValue())); switch (change.getChangeType()) { case ADDED: if (Objects.equals(change.getOldValue(), change.getNewValue())) { break; break; case MODIFIED: if (!Objects.equals(change.getOldValue(), change.getNewValue())) { actualChanges.put(change.getPropertyName(), change); if (Objects.equals(change.getOldValue(), change.getNewValue())) { break; if (change.getNewValue() != null) { change.setChangeType(PropertyChangeType.MODIFIED);
@Override public void onChange(ConfigChangeEvent changeEvent) { ConfigChange change = changeEvent.getChange(group + "-" + serviceId); String config = change.getNewValue(); subscribeCallback.callback(config); } };
@Override public void onChange(ConfigChangeEvent changeEvent) { ConfigChange change = changeEvent.getChange(group + "-" + serviceId); String config = change.getNewValue(); subscribeCallback.callback(config); } };
@Override public void onChange(com.ctrip.framework.apollo.model.ConfigChangeEvent changeEvent) { for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); if ("".equals(change.getNewValue())) { logger.warn("an empty rule is received for " + key + ", the current working rule is " + change.getOldValue() + ", the empty rule will not take effect."); return; } listeners.forEach(listener -> { ConfigChangeEvent event = new ConfigChangeEvent(key, change.getNewValue(), getChangeType(change)); listener.process(event); } ); } }
@Override public void onChange(com.ctrip.framework.apollo.model.ConfigChangeEvent changeEvent) { for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); if ("".equals(change.getNewValue())) { logger.warn("an empty rule is received for " + key + ", the current working rule is " + change.getOldValue() + ", the empty rule will not take effect."); return; } listeners.forEach(listener -> { ConfigChangeEvent event = new ConfigChangeEvent(key, change.getNewValue(), getChangeType(change)); listener.process(event); } ); } }
@Override public void onChange(ConfigChangeEvent changeEvent) { PropertiesProxy conf = appContext.getConf(); for (String key : changeEvent.changedKeys()) { ConfigChange cc = changeEvent.getChange(key); switch (cc.getChangeType()) { case ADDED: conf.put(key, cc.getNewValue()); break; case MODIFIED: conf.put(key, cc.getNewValue()); break; case DELETED: conf.remove(key); break; default: break; } } }
@Override public void onChange(ConfigChangeEvent changeEvent) { Set<String> keys = changeEvent.changedKeys(); for (String key : keys) { ConfigChange change = changeEvent.getChange(key); if (change == null) { continue; } String oldValue = change.getOldValue(); String newValue = change.getNewValue(); configListener.onChange(key, oldValue, newValue); } } }