[rhmessaging-commits] rhmessaging commits: r1494 - in store/trunk/cpp: tests and 1 other directory.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Fri Dec 14 11:27:22 EST 2007
Author: gordonsim
Date: 2007-12-14 11:27:22 -0500 (Fri, 14 Dec 2007)
New Revision: 1494
Modified:
store/trunk/cpp/lib/BdbMessageStore.cpp
store/trunk/cpp/lib/BdbMessageStore.h
store/trunk/cpp/tests/SimpleTest.cpp
Log:
pass in PersistebaleMessage by ref for destory as it is called when the message is being destructed and only the id is checked
remove the bdb enqueue/dequeue calls for released content in journal mode
Modified: store/trunk/cpp/lib/BdbMessageStore.cpp
===================================================================
--- store/trunk/cpp/lib/BdbMessageStore.cpp 2007-12-14 16:06:50 UTC (rev 1493)
+++ store/trunk/cpp/lib/BdbMessageStore.cpp 2007-12-14 16:27:22 UTC (rev 1494)
@@ -789,10 +789,10 @@
}
}
}
-void BdbMessageStore::destroy(intrusive_ptr<PersistableMessage>& msg)
+void BdbMessageStore::destroy(PersistableMessage& msg)
{
checkInit();
- u_int64_t messageId (msg->getPersistenceId());
+ u_int64_t messageId (msg.getPersistenceId());
if (messageId) {
Dbt key (&messageId, sizeof(messageId));
TxnCtxt txn;
@@ -954,7 +954,6 @@
if (usingJrnl()){
// add queue* to the txn map..
if (ctxt) txn->addXidRecord(queue.getExternalQueueStore());
- if (msg->isContentReleased()) put(mappingDb, txn->get(), key, value); // TODO - remove once jrnl is used for transient policy see **
}else{
msg->enqueueComplete(); // set enqueued for ack
put(mappingDb, txn->get(), key, value);
@@ -1095,13 +1094,6 @@
// add queue* to the txn map..
if (ctxt) txn->addXidRecord(queue.getExternalQueueStore());
async_dequeue(ctxt, msg, queue);
- // added here as we are not doing it async on call back
- if (msg->isContentReleased()) // TODO remove this code once jrnl is used for transient policy see **
- {
- Dbt key (&messageId, sizeof(messageId));
- Dbt value (&queueId, sizeof(queueId));
- dequeue(txn->get(), key, value);
- }
msg->dequeueComplete();
// if ( msg->isDequeueComplete() ) // clear id after last dequeue
Modified: store/trunk/cpp/lib/BdbMessageStore.h
===================================================================
--- store/trunk/cpp/lib/BdbMessageStore.h 2007-12-14 16:06:50 UTC (rev 1493)
+++ store/trunk/cpp/lib/BdbMessageStore.h 2007-12-14 16:27:22 UTC (rev 1494)
@@ -164,7 +164,7 @@
void recover(qpid::broker::RecoveryManager& queues);
void stage(boost::intrusive_ptr<qpid::broker::PersistableMessage>& msg);
- void destroy(boost::intrusive_ptr<qpid::broker::PersistableMessage>& msg);
+ void destroy(qpid::broker::PersistableMessage& msg);
void appendContent(boost::intrusive_ptr<const qpid::broker::PersistableMessage>& msg, const std::string& data);
void loadContent(const qpid::broker::PersistableQueue& queue,
boost::intrusive_ptr<const qpid::broker::PersistableMessage>& msg,
Modified: store/trunk/cpp/tests/SimpleTest.cpp
===================================================================
--- store/trunk/cpp/tests/SimpleTest.cpp 2007-12-14 16:06:50 UTC (rev 1493)
+++ store/trunk/cpp/tests/SimpleTest.cpp 2007-12-14 16:27:22 UTC (rev 1494)
@@ -435,7 +435,7 @@
MessageUtils::addContent(msg, data);
store.stage(pmsg);
- store.destroy(pmsg);
+ store.destroy(*pmsg);
try {
string loaded;
@@ -464,7 +464,7 @@
store.create(queue);
store.enqueue(0, pmsg, queue);
- store.destroy(pmsg);
+ store.destroy(*pmsg);
string loaded;
store.loadContent(queue, cpmsg, loaded, 0, data.length());
More information about the rhmessaging-commits
mailing list