This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git


The following commit(s) were added to refs/heads/master by this push:
     new 1c9e23c  change collectedStatistics type to CopyOnWriteArrayList (#377)
1c9e23c is described below

commit 1c9e23c9666719be62eade500eae61c1183c4d7c
Author: zrlw <[email protected]>
AuthorDate: Sat Oct 9 15:49:29 2021 +0800

    change collectedStatistics type to CopyOnWriteArrayList (#377)
    
    * change collectedStatistics type to CopyOnWriteArrayList
    
    * CopyOnWriteArrayList could be read concurrently
    
    * add URL not null assert
---
 .../org/apache/dubbo/samples/monitor/impl/MonitorServiceImpl.java   | 6 +++---
 .../java/org/apache/dubbo/samples/monitor/MonitorServiceIT.java     | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/dubbo-samples-monitor/src/main/java/org/apache/dubbo/samples/monitor/impl/MonitorServiceImpl.java
 
b/dubbo-samples-monitor/src/main/java/org/apache/dubbo/samples/monitor/impl/MonitorServiceImpl.java
index e674261..fdd6160 100644
--- 
a/dubbo-samples-monitor/src/main/java/org/apache/dubbo/samples/monitor/impl/MonitorServiceImpl.java
+++ 
b/dubbo-samples-monitor/src/main/java/org/apache/dubbo/samples/monitor/impl/MonitorServiceImpl.java
@@ -20,11 +20,11 @@ package org.apache.dubbo.samples.monitor.impl;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.monitor.MonitorService;
 
-import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 public class MonitorServiceImpl implements MonitorService {
-    private List<URL> collectedStatistics = new ArrayList<>();
+    private List<URL> collectedStatistics = new CopyOnWriteArrayList<>();
 
     @Override
     public void collect(URL statistics) {
@@ -33,6 +33,6 @@ public class MonitorServiceImpl implements MonitorService {
 
     @Override
     public List<URL> lookup(URL query) {
-        return new ArrayList<>(collectedStatistics);
+        return collectedStatistics;
     }
 }
diff --git 
a/dubbo-samples-monitor/src/test/java/org/apache/dubbo/samples/monitor/MonitorServiceIT.java
 
b/dubbo-samples-monitor/src/test/java/org/apache/dubbo/samples/monitor/MonitorServiceIT.java
index fea626a..f3f7e11 100644
--- 
a/dubbo-samples-monitor/src/test/java/org/apache/dubbo/samples/monitor/MonitorServiceIT.java
+++ 
b/dubbo-samples-monitor/src/test/java/org/apache/dubbo/samples/monitor/MonitorServiceIT.java
@@ -73,6 +73,7 @@ public class MonitorServiceIT {
         boolean countConsumer = false;
         System.out.println("monitor stats: " + stats.size());
         for (URL stat : stats) {
+            Assert.assertNotNull(stat);
             Assert.assertEquals("count", stat.getProtocol());
             
Assert.assertEquals("org.apache.dubbo.samples.monitor.api.DemoService/sayHello",
 stat.getPath());
             if (stat.getParameter("application").equals("demo-provider")) {

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to