diff options
| author | Andrew MacBean <macbean@apache.org> | 2014-07-14 10:23:42 +0000 |
|---|---|---|
| committer | Andrew MacBean <macbean@apache.org> | 2014-07-14 10:23:42 +0000 |
| commit | 60d0130f832efaf2935a9b6d485b6ff4b4ad1bd8 (patch) | |
| tree | f030ee325517fac57ff2bd6e6018b4750d9f0705 /qpid/java | |
| parent | 58e3f0aaed84f4d925d1d461e4d38232a53bea14 (diff) | |
| download | qpid-python-60d0130f832efaf2935a9b6d485b6ff4b4ad1bd8.tar.gz | |
QPID-5822: [Java Broker] change to JE param setting logic to handle EnvironmentParams.SUPPORTED_PARAMS not always containing ALL valid params
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1610378 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java index f67d232b9f..4f21baf42f 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java @@ -23,9 +23,7 @@ package org.apache.qpid.server.store.berkeleydb.replication; import java.util.Collections; import java.util.HashMap; import java.util.Map; - -import com.sleepycat.je.config.ConfigParam; -import com.sleepycat.je.config.EnvironmentParams; +import java.util.regex.Pattern; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.store.berkeleydb.EnvironmentFacade; @@ -34,6 +32,9 @@ import org.apache.qpid.server.store.berkeleydb.HASettings; public class ReplicatedEnvironmentFacadeFactory implements EnvironmentFacadeFactory { + public static final Pattern NON_REP_JE_PARAM_PATTERN = Pattern.compile("^je\\.(?!rep\\.).*"); + public static final Pattern REP_JE_PARAM_PATTERN = Pattern.compile("^je\\.rep\\..*"); + @Override public EnvironmentFacade createEnvironmentFacade(final ConfiguredObject<?> parent) { @@ -113,27 +114,27 @@ public class ReplicatedEnvironmentFacadeFactory implements EnvironmentFacadeFact private Map<String, String> buildEnvironmentConfigParameters(ConfiguredObject<?> parent) { - return buildConfig(parent, false); + return buildConfig(parent, NON_REP_JE_PARAM_PATTERN); } private Map<String, String> buildReplicationConfigParameters(ConfiguredObject<?> parent) { - return buildConfig(parent, true); + return buildConfig(parent, REP_JE_PARAM_PATTERN); } - private Map<String, String> buildConfig(ConfiguredObject<?> parent, boolean selectReplicationParaemeters) + private Map<String, String> buildConfig(ConfiguredObject<?> parent, Pattern paramName) { Map<String, String> targetMap = new HashMap<>(); - for (ConfigParam entry : EnvironmentParams.SUPPORTED_PARAMS.values()) + for (String name : parent.getContext().keySet()) { - final String name = entry.getName(); - if (entry.isForReplication() == selectReplicationParaemeters && parent.getContext().containsKey(name)) + if (paramName.matcher(name).matches()) { String contextValue = parent.getContext().get(name); targetMap.put(name, contextValue); } } + return Collections.unmodifiableMap(targetMap); } |
