summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore/src
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-03-12 13:19:29 +0000
committerAlex Rudyy <orudyy@apache.org>2014-03-12 13:19:29 +0000
commitf10abece85c408a2185afe8f3075f0ed82451aeb (patch)
treeb56a98d59e5786a39901a08f7fde53b7aa218541 /qpid/java/bdbstore/src
parenta038ecc0c2da1fdd8cff38051bba3c8ffca4df1e (diff)
downloadqpid-python-f10abece85c408a2185afe8f3075f0ed82451aeb.tar.gz
QPID-5624: Remove virtualhost xml configuration. Move virtual host configuration into broker configuration store"
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/java-broker-bdb-ha2@1576732 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore/src')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java8
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java76
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java34
-rw-r--r--qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java118
4 files changed, 39 insertions, 197 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java
index 3fdc12ba31..e41b81f846 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java
@@ -21,7 +21,6 @@ package org.apache.qpid.server.store.berkeleydb;
*/
import org.apache.log4j.Logger;
-import org.apache.qpid.server.configuration.VirtualHostConfiguration;
import org.apache.qpid.server.connection.IConnectionRegistry;
import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.model.VirtualHost;
@@ -54,13 +53,12 @@ public class BDBHAVirtualHost extends AbstractVirtualHost
BDBHAVirtualHost(VirtualHostRegistry virtualHostRegistry,
StatisticsGatherer brokerStatisticsGatherer,
org.apache.qpid.server.security.SecurityManager parentSecurityManager,
- VirtualHostConfiguration hostConfig,
VirtualHost virtualHost)
{
- super(virtualHostRegistry, brokerStatisticsGatherer, parentSecurityManager, hostConfig, virtualHost);
+ super(virtualHostRegistry, brokerStatisticsGatherer, parentSecurityManager, virtualHost);
}
- protected void initialiseStorage(VirtualHostConfiguration hostConfig, VirtualHost virtualHost)
+ protected void initialiseStorage(VirtualHost virtualHost)
{
_messageStore = new BDBMessageStore(new ReplicatedEnvironmentFacadeFactory());
@@ -179,7 +177,7 @@ public class BDBHAVirtualHost extends AbstractVirtualHost
@Override
public void event(Event event)
{
- initialiseModel(getConfiguration());
+ initialiseModel();
}
}
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java
index 7a308920b3..f5d930dc5a 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java
@@ -19,16 +19,11 @@ package org.apache.qpid.server.store.berkeleydb;/*
*
*/
-import java.util.HashMap;
import java.util.LinkedHashMap;
-import java.util.List;
import java.util.Map;
-import org.apache.commons.configuration.Configuration;
-import org.apache.qpid.server.configuration.VirtualHostConfiguration;
import org.apache.qpid.server.model.adapter.VirtualHostAdapter;
import org.apache.qpid.server.plugin.VirtualHostFactory;
import org.apache.qpid.server.stats.StatisticsGatherer;
-import org.apache.qpid.server.store.MessageStoreConstants;
import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
@@ -47,13 +42,11 @@ public class BDBHAVirtualHostFactory implements VirtualHostFactory
public VirtualHost createVirtualHost(VirtualHostRegistry virtualHostRegistry,
StatisticsGatherer brokerStatisticsGatherer,
org.apache.qpid.server.security.SecurityManager parentSecurityManager,
- VirtualHostConfiguration hostConfig,
org.apache.qpid.server.model.VirtualHost virtualHost)
{
return new BDBHAVirtualHost(virtualHostRegistry,
brokerStatisticsGatherer,
parentSecurityManager,
- hostConfig,
virtualHost);
}
@@ -86,73 +79,4 @@ public class BDBHAVirtualHostFactory implements VirtualHostFactory
return convertedMap;
}
- public Map<String, Object> convertVirtualHostConfiguration(Configuration configuration)
- {
-
- LinkedHashMap<String,Object> convertedMap = new LinkedHashMap<String, Object>();
-
- Configuration storeConfiguration = configuration.subset("store");
-
- convertedMap.put(org.apache.qpid.server.model.VirtualHost.STORE_PATH, storeConfiguration.getString(MessageStoreConstants.ENVIRONMENT_PATH_PROPERTY));
- convertedMap.put(MessageStoreConstants.OVERFULL_SIZE_ATTRIBUTE, storeConfiguration.getString(MessageStoreConstants.OVERFULL_SIZE_PROPERTY));
- convertedMap.put(MessageStoreConstants.UNDERFULL_SIZE_ATTRIBUTE, storeConfiguration.getString(MessageStoreConstants.UNDERFULL_SIZE_PROPERTY));
- convertedMap.put("haGroupName", configuration.getString("store.highAvailability.groupName"));
- convertedMap.put("haNodeName", configuration.getString("store.highAvailability.nodeName"));
- convertedMap.put("haNodeAddress", configuration.getString("store.highAvailability.nodeHostPort"));
- convertedMap.put("haHelperAddress", configuration.getString("store.highAvailability.helperHostPort"));
-
- final Object haDurability = configuration.getString("store.highAvailability.durability");
- if(haDurability !=null)
- {
- convertedMap.put("haDurability", haDurability);
- }
-
- final Object designatedPrimary = configuration.getString("store.highAvailability.designatedPrimary");
- if(designatedPrimary!=null)
- {
- convertedMap.put("haDesignatedPrimary", designatedPrimary);
- }
-
- final Object coalescingSync = configuration.getString("store.highAvailability.coalescingSync");
- if(coalescingSync!=null)
- {
- convertedMap.put("haCoalescingSync", coalescingSync);
- }
-
-
- Map<String, String> attributes = getEnvironmentMap(storeConfiguration, "envConfig");
-
- if(!attributes.isEmpty())
- {
- convertedMap.put("bdbEnvironmentConfig",attributes);
- }
-
- attributes = getEnvironmentMap(storeConfiguration, "repConfig");
-
- if(!attributes.isEmpty())
- {
- convertedMap.put("haReplicationConfig",attributes);
- }
-
- return convertedMap;
-
- }
-
- private Map<String, String> getEnvironmentMap(Configuration storeConfiguration, String configName)
- {
- final List<Object> argumentNames = storeConfiguration.getList(configName +".name");
- final List<Object> argumentValues = storeConfiguration.getList(configName +".value");
- final int initialSize = argumentNames.size();
-
- final Map<String,String> attributes = new HashMap<String,String>(initialSize);
-
- for (int i = 0; i < argumentNames.size(); i++)
- {
- final String argName = argumentNames.get(i).toString();
- final String argValue = argumentValues.get(i).toString();
-
- attributes.put(argName, argValue);
- }
- return attributes;
- }
}
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java
index 4abe81c56c..04efc77b8b 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java
@@ -20,12 +20,7 @@
*/
package org.apache.qpid.server.store.berkeleydb;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
-
-import org.apache.commons.configuration.Configuration;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.plugin.DurableConfigurationStoreFactory;
import org.apache.qpid.server.plugin.MessageStoreFactory;
@@ -54,35 +49,6 @@ public class BDBMessageStoreFactory implements MessageStoreFactory, DurableConfi
}
@Override
- public Map<String, Object> convertStoreConfiguration(Configuration storeConfiguration)
- {
- final List<Object> argumentNames = storeConfiguration.getList("envConfig.name");
- final List<Object> argumentValues = storeConfiguration.getList("envConfig.value");
- final int initialSize = argumentNames.size();
-
- final Map<String,String> attributes = new HashMap<String,String>(initialSize);
-
- for (int i = 0; i < argumentNames.size(); i++)
- {
- final String argName = argumentNames.get(i).toString();
- final String argValue = argumentValues.get(i).toString();
-
- attributes.put(argName, argValue);
- }
-
- if(initialSize != 0)
- {
- return Collections.singletonMap(BDBMessageStore.ENVIRONMENT_CONFIGURATION, (Object)attributes);
- }
- else
- {
- return Collections.emptyMap();
- }
-
-
- }
-
- @Override
public void validateAttributes(Map<String, Object> attributes)
{
if(getType().equals(attributes.get(VirtualHost.STORE_TYPE)))
diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
index a05a30b459..488d14bdf4 100644
--- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
+++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
@@ -27,7 +27,6 @@ import java.io.File;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
import java.util.UUID;
import org.apache.qpid.server.configuration.ConfigurationEntry;
@@ -41,24 +40,21 @@ import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.stats.StatisticsGatherer;
import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade;
import org.apache.qpid.server.util.BrokerTestHelper;
-import org.apache.qpid.server.virtualhost.StandardVirtualHostFactory;
import org.apache.qpid.test.utils.QpidTestCase;
-import org.apache.qpid.test.utils.TestFileUtils;
import org.apache.qpid.util.FileUtils;
-import com.sleepycat.je.EnvironmentConfig;
import com.sleepycat.je.rep.ReplicatedEnvironment;
import com.sleepycat.je.rep.ReplicationConfig;
public class VirtualHostTest extends QpidTestCase
{
- private Broker _broker;
+ private Broker<?> _broker;
private StatisticsGatherer _statisticsGatherer;
private RecovererProvider _recovererProvider;
private File _configFile;
private File _bdbStorePath;
- private VirtualHost _host;
+ private VirtualHost<?> _host;
private ConfigurationEntryStore _store;
@Override
@@ -103,106 +99,64 @@ public class VirtualHostTest extends QpidTestCase
}
}
-
- public void testCreateBdbVirtualHostFromConfigurationFile()
+ public void testCreateBdbHaVirtualHostFromConfigurationEntry()
{
- String hostName = getName();
- long logFileMax = 2000000;
- _host = createHostFromConfiguration(hostName, logFileMax);
- _host.setDesiredState(State.INITIALISING, State.ACTIVE);
- assertEquals("Unexpected host name", hostName, _host.getName());
- assertEquals("Unexpected host type", StandardVirtualHostFactory.TYPE, _host.getType());
- assertEquals("Unexpected store type", new BDBMessageStoreFactory().getType(), _host.getAttribute(VirtualHost.STORE_TYPE));
- assertEquals("Unexpected store path", _bdbStorePath.getAbsolutePath(), _host.getAttribute(VirtualHost.STORE_PATH));
-
- BDBMessageStore messageStore = (BDBMessageStore) _host.getMessageStore();
- EnvironmentConfig envConfig = messageStore.getEnvironmentFacade().getEnvironment().getConfig();
- assertEquals("Unexpected JE log file max", String.valueOf(logFileMax), envConfig.getConfigParam(EnvironmentConfig.LOG_FILE_MAX));
-
- }
-
- public void testCreateBdbHaVirtualHostFromConfigurationFile()
- {
- String hostName = getName();
-
String repStreamTimeout = "2 h";
String nodeName = "node";
String groupName = "group";
String nodeHostPort = "localhost:" + findFreePort();
String helperHostPort = nodeHostPort;
String durability = "NO_SYNC,SYNC,NONE";
- _host = createHaHostFromConfiguration(hostName, groupName, nodeName, nodeHostPort, helperHostPort, durability, repStreamTimeout);
+ String hostName = getName();
+
+ Map<String, Object> virtualHostAttributes = new HashMap<String, Object>();
+ virtualHostAttributes.put("haNodeName", nodeName);
+ virtualHostAttributes.put("haGroupName", groupName);
+ virtualHostAttributes.put("haNodeAddress", nodeHostPort);
+ virtualHostAttributes.put("haHelperAddress", helperHostPort);
+ virtualHostAttributes.put("haDurability", durability);
+ virtualHostAttributes.put(VirtualHost.STORE_PATH, _bdbStorePath.getAbsolutePath());
+ virtualHostAttributes.put("haReplicationConfig",
+ Collections.singletonMap(ReplicationConfig.REP_STREAM_TIMEOUT, repStreamTimeout));
+ virtualHostAttributes.put(VirtualHost.NAME, hostName);
+ virtualHostAttributes.put(VirtualHost.TYPE, BDBHAVirtualHostFactory.TYPE);
+
+ _host = createHost(virtualHostAttributes);
_host.setDesiredState(State.INITIALISING, State.ACTIVE);
+
assertEquals("Unexpected host name", hostName, _host.getName());
assertEquals("Unexpected host type", BDBHAVirtualHostFactory.TYPE, _host.getType());
assertEquals("Unexpected store type", ReplicatedEnvironmentFacade.TYPE, _host.getAttribute(VirtualHost.STORE_TYPE));
+
+ assertEquals(nodeName, _host.getAttribute("haNodeName"));
+ assertEquals(groupName, _host.getAttribute("haGroupName"));
+ assertEquals(nodeHostPort, _host.getAttribute("haNodeAddress"));
+ assertEquals(helperHostPort, _host.getAttribute("haHelperAddress"));
+ assertEquals(durability, _host.getAttribute("haDurability"));
assertEquals("Unexpected store path", _bdbStorePath.getAbsolutePath(), _host.getAttribute(VirtualHost.STORE_PATH));
BDBMessageStore messageStore = (BDBMessageStore) _host.getMessageStore();
ReplicatedEnvironment environment = (ReplicatedEnvironment) messageStore.getEnvironmentFacade().getEnvironment();
- ReplicationConfig repConfig = environment.getRepConfig();
- assertEquals("Unexpected JE replication groupName", groupName, repConfig.getConfigParam(ReplicationConfig.GROUP_NAME));
- assertEquals("Unexpected JE replication nodeName", nodeName, repConfig.getConfigParam(ReplicationConfig.NODE_NAME));
- assertEquals("Unexpected JE replication nodeHostPort", nodeHostPort, repConfig.getConfigParam(ReplicationConfig.NODE_HOST_PORT));
- assertEquals("Unexpected JE replication nodeHostPort", helperHostPort, repConfig.getConfigParam(ReplicationConfig.HELPER_HOSTS));
- assertEquals("Unexpected JE replication nodeHostPort", "false", repConfig.getConfigParam(ReplicationConfig.DESIGNATED_PRIMARY));
- assertEquals("Unexpected JE replication stream timeout", repStreamTimeout, repConfig.getConfigParam(ReplicationConfig.REP_STREAM_TIMEOUT));
- }
+ ReplicationConfig replicationConfig = environment.getRepConfig();
- private VirtualHost createHost(Map<String, Object> attributes, Set<UUID> children)
- {
- ConfigurationEntry entry = new ConfigurationEntry(UUID.randomUUID(), VirtualHost.class.getSimpleName(), attributes,
- children, _store);
+ assertEquals(nodeName, environment.getNodeName());
+ assertEquals(groupName, environment.getGroup().getName());
+ assertEquals(nodeHostPort, replicationConfig.getNodeHostPort());
+ assertEquals(helperHostPort, replicationConfig.getHelperHosts());
+ assertEquals(durability, environment.getConfig().getDurability().toString());
+ assertEquals("Unexpected JE replication stream timeout", repStreamTimeout, replicationConfig.getConfigParam(ReplicationConfig.REP_STREAM_TIMEOUT));
- return new VirtualHostRecoverer(_statisticsGatherer).create(_recovererProvider, entry, _broker);
}
- private VirtualHost createHost(Map<String, Object> attributes)
- {
- return createHost(attributes, Collections.<UUID> emptySet());
- }
- private VirtualHost createHostFromConfiguration(String hostName, long logFileMax)
+ private VirtualHost<?> createHost(Map<String, Object> attributes)
{
- String content = "<virtualhosts><virtualhost><name>" + hostName + "</name><" + hostName + ">"
- + "<store><class>" + BDBMessageStore.class.getName() + "</class>"
- + "<environment-path>" + _bdbStorePath.getAbsolutePath() + "</environment-path>"
- + "<envConfig><name>" + EnvironmentConfig.LOG_FILE_MAX + "</name><value>" + logFileMax + "</value></envConfig>"
- + "</store>"
- + "</" + hostName + "></virtualhost></virtualhosts>";
- Map<String, Object> attributes = writeConfigAndGenerateAttributes(content);
- return createHost(attributes);
- }
-
+ ConfigurationEntry entry = new ConfigurationEntry(UUID.randomUUID(), VirtualHost.class.getSimpleName(), attributes,
+ Collections.<UUID>emptySet(), _store);
- private VirtualHost createHaHostFromConfiguration(String hostName, String groupName, String nodeName, String nodeHostPort, String helperHostPort, String durability, String repStreamTimeout)
- {
- String content = "<virtualhosts><virtualhost><name>" + hostName + "</name><" + hostName + ">"
- + "<type>" + BDBHAVirtualHostFactory.TYPE + "</type>"
- + "<store><class>" + BDBMessageStore.class.getName() + "</class>"
- + "<environment-path>" + _bdbStorePath.getAbsolutePath() + "</environment-path>"
- + "<highAvailability>"
- + "<groupName>" + groupName + "</groupName>"
- + "<nodeName>" + nodeName + "</nodeName>"
- + "<nodeHostPort>" + nodeHostPort + "</nodeHostPort>"
- + "<helperHostPort>" + helperHostPort + "</helperHostPort>"
- + "<durability>" + durability.replaceAll(",", "\\\\,") + "</durability>"
- + "</highAvailability>"
- + "<repConfig><name>" + ReplicationConfig.REP_STREAM_TIMEOUT + "</name><value>" + repStreamTimeout + "</value></repConfig>"
- + "</store>"
- + "</" + hostName + "></virtualhost></virtualhosts>";
- Map<String, Object> attributes = writeConfigAndGenerateAttributes(content);
- return createHost(attributes);
+ return new VirtualHostRecoverer(_statisticsGatherer).create(_recovererProvider, entry, _broker);
}
- private Map<String, Object> writeConfigAndGenerateAttributes(String content)
- {
- _configFile = TestFileUtils.createTempFile(this, ".virtualhost.xml", content);
- Map<String, Object> attributes = new HashMap<String, Object>();
- attributes.put(VirtualHost.NAME, getName());
- attributes.put(VirtualHost.CONFIG_PATH, _configFile.getAbsolutePath());
- return attributes;
- }
}
\ No newline at end of file