Skip to content

Commit a0b3398

Browse files
authored
[#1176] Do not send RefreshEvent when configurations do not change (#1178)
1 parent 03b7f05 commit a0b3398

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

spring-cloud-huawei-config/src/main/java/com/huaweicloud/config/ConfigWatch.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,20 @@ public void setApplicationEventPublisher(ApplicationEventPublisher applicationEv
4848

4949
@Subscribe
5050
public void onConfigurationChangedEvent(ConfigurationChangedEvent event) {
51-
LOGGER.info("receive new configurations, added=[{}], updated=[{}], deleted=[{}]",
52-
event.getAdded().keySet(),
53-
event.getUpdated().keySet(),
54-
event.getDeleted().keySet());
51+
Set<String> addKeys = event.getAdded().keySet();
52+
Set<String> updateKeys = event.getUpdated().keySet();
53+
Set<String> deleteKeys = event.getDeleted().keySet();
54+
if (addKeys.isEmpty() && updateKeys.isEmpty() && deleteKeys.isEmpty()) {
55+
return;
56+
}
57+
LOGGER.info("receive new configurations, added=[{}], updated=[{}], deleted=[{}]", addKeys, updateKeys, deleteKeys);
5558

5659
Set<String> updatedKey = new HashSet<>();
5760
updatedKey.addAll(event.getAdded().keySet());
5861
updatedKey.addAll(event.getUpdated().keySet());
5962
updatedKey.addAll(event.getDeleted().keySet());
6063
ConfigRefreshEvent configRefreshEvent = new ConfigRefreshEvent(this, updatedKey);
61-
applicationEventPublisher.publishEvent(configRefreshEvent);
6264
applicationEventPublisher.publishEvent(new RefreshEvent(this, configRefreshEvent, "Config refreshed"));
65+
applicationEventPublisher.publishEvent(configRefreshEvent);
6366
}
6467
}

0 commit comments

Comments
 (0)