summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2009-01-22 21:54:50 +0000
committerGordon Sim <gsim@apache.org>2009-01-22 21:54:50 +0000
commit3343b6185f3ac95f6b2b281fb857239af3bbdb11 (patch)
treee9ae161f2009186b612792fed67f7902f906dde1 /qpid/cpp
parent2768c76a7edc927f1355e233ba1344a800701eb8 (diff)
downloadqpid-python-3343b6185f3ac95f6b2b281fb857239af3bbdb11.tar.gz
QPID-1611: Patch from Mick Goulish to ensure queues are created in store in cluster configuration
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@736814 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/Queue.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/Queue.cpp b/qpid/cpp/src/qpid/broker/Queue.cpp
index 962b463571..7a578c26b5 100644
--- a/qpid/cpp/src/qpid/broker/Queue.cpp
+++ b/qpid/cpp/src/qpid/broker/Queue.cpp
@@ -708,6 +708,13 @@ void Queue::configure(const FieldTable& _settings)
noLocal = _settings.get(qpidNoLocal);
QPID_LOG(debug, "Configured queue with no-local=" << noLocal);
+ /* In some pathways (cluster sync) we may get to this
+ * point with a durable queue that does not yet have
+ * a store created for it.
+ */
+ if ( isDurable() && (! getPersistenceId() ) )
+ store->create(*this, _settings);
+
lastValueQueue= _settings.get(qpidLastValueQueue);
if (lastValueQueue) QPID_LOG(debug, "Configured queue as Last Value Queue");