Make SentinelConfig.loadProps() thread-safe using CopyOnWriteArraySet (#706)

This commit is contained in:
Jason Joo 2019-04-25 20:00:45 +08:00 committed by Eric Zhao
parent 346e9b274e
commit ecf4822ae1
1 changed files with 2 additions and 1 deletions

View File

@ -20,6 +20,7 @@ import java.io.FileInputStream;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArraySet;
import com.alibaba.csp.sentinel.log.LogBase; import com.alibaba.csp.sentinel.log.LogBase;
import com.alibaba.csp.sentinel.log.RecordLog; import com.alibaba.csp.sentinel.log.RecordLog;
@ -123,7 +124,7 @@ public class SentinelConfig {
} }
// JVM parameter override file config. // JVM parameter override file config.
for (Map.Entry<Object, Object> entry : System.getProperties().entrySet()) { for (Map.Entry<Object, Object> entry : new CopyOnWriteArraySet<>(System.getProperties().entrySet())) {
String configKey = entry.getKey().toString(); String configKey = entry.getKey().toString();
String configValue = entry.getValue().toString(); String configValue = entry.getValue().toString();
String configValueOld = getConfig(configKey); String configValueOld = getConfig(configKey);