diff options
| author | Keith Wall <kwall@apache.org> | 2012-07-06 11:04:59 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-07-06 11:04:59 +0000 |
| commit | 7d49d33cdb51a98cd7621c3350f543ec3e10fc15 (patch) | |
| tree | 12d1ed1f4b108c3f8f9304105b31d094a68db545 /qpid/java/bdbstore | |
| parent | bbbe4dea78e49cb408ffd773d6287bd0da8758f4 (diff) | |
| download | qpid-python-7d49d33cdb51a98cd7621c3350f543ec3e10fc15.tar.gz | |
QPID-4112: Virtualhosts recover exchanges before queues
Switch the recover order from queues,exchanges,... to exchanges,queues,.. so that when a queue with an alternate exchange
is recovered, the exchange's uuid is already in the registry.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358118 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore')
| -rw-r--r-- | qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java index 8e81e9a7b0..3eeac71ebf 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java @@ -60,6 +60,7 @@ import org.apache.qpid.server.message.EnqueableMessage; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.store.*; import org.apache.qpid.server.store.ConfigurationRecoveryHandler.BindingRecoveryHandler; +import org.apache.qpid.server.store.ConfigurationRecoveryHandler.BrokerLinkRecoveryHandler; import org.apache.qpid.server.store.ConfigurationRecoveryHandler.ExchangeRecoveryHandler; import org.apache.qpid.server.store.ConfigurationRecoveryHandler.QueueRecoveryHandler; import org.apache.qpid.server.store.MessageStoreRecoveryHandler.StoredMessageRecoveryHandler; @@ -413,16 +414,16 @@ public abstract class AbstractBDBMessageStore implements MessageStore try { List<ConfiguredObjectRecord> configuredObjects = loadConfiguredObjects(); - QueueRecoveryHandler qrh = recoveryHandler.begin(this); - _configuredObjectHelper.recoverQueues(qrh, configuredObjects); - - ExchangeRecoveryHandler erh = qrh.completeQueueRecovery(); + ExchangeRecoveryHandler erh = recoveryHandler.begin(this); _configuredObjectHelper.recoverExchanges(erh, configuredObjects); - BindingRecoveryHandler brh = erh.completeExchangeRecovery(); + QueueRecoveryHandler qrh = erh.completeExchangeRecovery(); + _configuredObjectHelper.recoverQueues(qrh, configuredObjects); + + BindingRecoveryHandler brh = qrh.completeQueueRecovery(); _configuredObjectHelper.recoverBindings(brh, configuredObjects); - ConfigurationRecoveryHandler.BrokerLinkRecoveryHandler lrh = brh.completeBindingRecovery(); + BrokerLinkRecoveryHandler lrh = brh.completeBindingRecovery(); recoverBrokerLinks(lrh); } catch (DatabaseException e) |
