From 7177135ca38651943b3701b171ef29e4fa52ad86 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Thu, 17 Apr 2014 01:07:34 +0000 Subject: QPID-5709 : [Java Broker] Replace exchange registry / factory with use of common configured object mechanism for registration of children git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1588126 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/store/berkeleydb/BDBHAVirtualHost.java | 17 +++++++++++------ .../qpid/server/store/berkeleydb/VirtualHostTest.java | 3 ++- 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'qpid/java/bdbstore/src') 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 87fc10530e..de17acabab 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 @@ -127,10 +127,16 @@ public class BDBHAVirtualHost extends AbstractVirtualHost { _messageStore.getEnvironmentFacade().getEnvironment().flushLog(true); - ConfiguredObjectRecordHandler upgraderRecoverer = new ConfiguredObjectRecordRecoveverAndUpgrader(this, getDurableConfigurationRecoverers()); - _messageStore.visitConfiguredObjectRecords(upgraderRecoverer); - - initialiseModel(); + if(isStoreEmpty()) + { + createDefaultExchanges(); + } + else + { + ConfiguredObjectRecordHandler upgraderRecoverer = + new ConfiguredObjectRecordRecoveverAndUpgrader(this, getDurableConfigurationRecoverers()); + _messageStore.visitConfiguredObjectRecords(upgraderRecoverer); + } new MessageStoreRecoverer(this, getMessageStoreLogSubject()).recover(); @@ -157,8 +163,7 @@ public class BDBHAVirtualHost extends AbstractVirtualHost getConnectionRegistry().close(IConnectionRegistry.VHOST_PASSIVATE_REPLY_TEXT); removeHouseKeepingTasks(); - getQueueRegistry().stopAllAndUnregisterMBeans(); - getExchangeRegistry().clearAndUnregisterMbeans(); + getQueueRegistry().close(); getDtxRegistry().close(); finalState = VirtualHostState.PASSIVE; 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 7b1355aa45..3e23df6d87 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 @@ -38,6 +38,7 @@ import org.apache.qpid.server.configuration.updater.TaskExecutor; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.ConfiguredObjectFactory; +import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl; import org.apache.qpid.server.model.Model; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHost; @@ -145,7 +146,7 @@ public class VirtualHostTest extends QpidTestCase private VirtualHost createHost(Map attributes) { - ConfiguredObjectFactory factory = new ConfiguredObjectFactory(Model.getInstance()); + ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(Model.getInstance()); ConfiguredObjectTypeFactory vhostFactory = factory.getConfiguredObjectTypeFactory(VirtualHost.class, attributes); attributes = new HashMap(attributes); -- cgit v1.2.1