From 49376423b9d8d2637e637c858718aa4fb2d25d1c Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Mon, 28 Sep 2009 15:45:03 +0000 Subject: Transient flow-to-disk messages switched to store from BDB. Only single-queue transient messages are handled at this point, multi-queue bindings are blocked under all circumstances to prevent routing order dependencies from making the outcome inconsistent. BZ525813 - "Move Flow to disk from BDB to journal" git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@819600 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/Queue.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cpp/src/qpid/broker/Queue.cpp') diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp index 5bfec0f24e..86de96468d 100644 --- a/cpp/src/qpid/broker/Queue.cpp +++ b/cpp/src/qpid/broker/Queue.cpp @@ -712,7 +712,7 @@ bool Queue::enqueue(TransactionContext* ctxt, boost::intrusive_ptr msg, msg->addTraceId(traceId); } - if (msg->isPersistent() && store) { + if ((msg->isPersistent() || msg->checkContentReleasable()) && store) { msg->enqueueAsync(shared_from_this(), store); //increment to async counter -- for message sent to more than one queue boost::intrusive_ptr pmsg = boost::static_pointer_cast(msg); store->enqueue(ctxt, pmsg, *this); @@ -743,7 +743,7 @@ bool Queue::dequeue(TransactionContext* ctxt, const QueuedMessage& msg) dequeued(msg); } } - if (msg.payload->isPersistent() && store) { + if ((msg.payload->isPersistent() || msg.payload->checkContentReleasable()) && store) { msg.payload->dequeueAsync(shared_from_this(), store); //increment to async counter -- for message sent to more than one queue boost::intrusive_ptr pmsg = boost::static_pointer_cast(msg.payload); store->dequeue(ctxt, pmsg, *this); -- cgit v1.2.1