summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorAndrew MacBean <macbean@apache.org>2014-07-14 10:23:42 +0000
committerAndrew MacBean <macbean@apache.org>2014-07-14 10:23:42 +0000
commit60d0130f832efaf2935a9b6d485b6ff4b4ad1bd8 (patch)
treef030ee325517fac57ff2bd6e6018b4750d9f0705 /qpid/java
parent58e3f0aaed84f4d925d1d461e4d38232a53bea14 (diff)
downloadqpid-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.java19
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);
}