Skip to content

Commit a40c2f8

Browse files
kezhenxu94CrazyHZM
authored andcommitted
[Dubbo-3106]Make getRegistered return unmodifiable collection. #3106 (#3425)
* make getRegistered return unmodifiable collection. #3106 * fix ci failure
1 parent 112ad0c commit a40c2f8

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.nio.channels.FileChannel;
3838
import java.nio.channels.FileLock;
3939
import java.util.ArrayList;
40+
import java.util.Collections;
4041
import java.util.HashMap;
4142
import java.util.HashSet;
4243
import java.util.List;
@@ -118,15 +119,15 @@ protected void setUrl(URL url) {
118119
}
119120

120121
public Set<URL> getRegistered() {
121-
return registered;
122+
return Collections.unmodifiableSet(registered);
122123
}
123124

124125
public Map<URL, Set<NotifyListener>> getSubscribed() {
125-
return subscribed;
126+
return Collections.unmodifiableMap(subscribed);
126127
}
127128

128129
public Map<URL, Map<String, List<URL>>> getNotified() {
129-
return notified;
130+
return Collections.unmodifiableMap(notified);
130131
}
131132

132133
public File getCacheFile() {

dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/support/AbstractRegistryTest.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ public void testRegister() throws Exception {
9696
abstractRegistry.register(mockUrl);
9797
assert abstractRegistry.getRegistered().contains(mockUrl);
9898
//test multiple urls
99-
abstractRegistry.getRegistered().clear();
99+
for (URL url : abstractRegistry.getRegistered()) {
100+
abstractRegistry.unregister(url);
101+
}
100102
List<URL> urlList = getList();
101103
for (URL url : urlList) {
102104
abstractRegistry.register(url);
@@ -122,14 +124,16 @@ public void testRegisterIfURLNULL() throws Exception {
122124
public void testUnregister() throws Exception {
123125
//test one unregister
124126
URL url = new URL("dubbo", "192.168.0.1", 2200);
125-
abstractRegistry.getRegistered().add(url);
127+
abstractRegistry.register(url);
126128
abstractRegistry.unregister(url);
127129
MatcherAssert.assertThat(false, Matchers.equalTo(abstractRegistry.getRegistered().contains(url)));
128130
//test multiple unregisters
129-
abstractRegistry.getRegistered().clear();
131+
for (URL u : abstractRegistry.getRegistered()) {
132+
abstractRegistry.unregister(u);
133+
}
130134
List<URL> urlList = getList();
131135
for (URL urlSub : urlList) {
132-
abstractRegistry.getRegistered().add(urlSub);
136+
abstractRegistry.register(urlSub);
133137
}
134138
for (URL urlSub : urlList) {
135139
abstractRegistry.unregister(urlSub);

dubbo-registry/dubbo-registry-multicast/src/test/java/org/apache/dubbo/registry/multicast/MulticastRegistryTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@ public void testRegister() {
9292
Set<URL> registered;
9393
// clear first
9494
registered = registry.getRegistered();
95-
registered.clear();
95+
for (URL url : registered) {
96+
registry.unregister(url);
97+
}
9698

9799
for (int i = 0; i < 2; i++) {
98100
registry.register(serviceUrl);

0 commit comments

Comments
 (0)