mirror of
https://github.com/apache/activemq-artemis.git
synced 2025-02-13 05:26:13 +00:00
ARTEMIS-962 Fix CME when parsing system properties
Add synchronized block against the properties before iterating on them. JIRA: https://issues.apache.org/jira/browse/ARTEMIS-926 (cherry picked from commit 5ae47e8c3c4cd17ca6abc75e72be0338b0ceaf96) This closes #969
This commit is contained in:
parent
52d03c885c
commit
59f20d752a
@ -302,22 +302,23 @@ public class ConfigurationImpl implements Configuration, Serializable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Configuration parseSystemProperties(Properties properties) throws Exception {
|
public Configuration parseSystemProperties(Properties properties) throws Exception {
|
||||||
|
synchronized (properties) {
|
||||||
|
Map<String, Object> beanProperties = new HashMap<>();
|
||||||
|
|
||||||
Map<String, Object> beanProperties = new HashMap<>();
|
for (Map.Entry<Object, Object> entry : properties.entrySet()) {
|
||||||
|
if (entry.getKey().toString().startsWith(systemPropertyPrefix)) {
|
||||||
for (Map.Entry<Object, Object> entry : properties.entrySet()) {
|
String key = entry.getKey().toString().substring(systemPropertyPrefix.length());
|
||||||
if (entry.getKey().toString().startsWith(systemPropertyPrefix)) {
|
logger.debug("Setting up config, " + key + "=" + entry.getValue());
|
||||||
String key = entry.getKey().toString().substring(systemPropertyPrefix.length());
|
beanProperties.put(key, entry.getValue());
|
||||||
logger.debug("Setting up config, " + key + "=" + entry.getValue());
|
}
|
||||||
beanProperties.put(key, entry.getValue());
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!beanProperties.isEmpty()) {
|
if (!beanProperties.isEmpty()) {
|
||||||
BeanSupport.setData(this, beanProperties);
|
BeanSupport.setData(this, beanProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user