summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qpid/cpp/src/qpid/broker/Broker.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/Broker.cpp b/qpid/cpp/src/qpid/broker/Broker.cpp
index 9a5f05ccb2..975acfdb87 100644
--- a/qpid/cpp/src/qpid/broker/Broker.cpp
+++ b/qpid/cpp/src/qpid/broker/Broker.cpp
@@ -417,6 +417,12 @@ boost::intrusive_ptr<Broker> Broker::create(const Options& opts)
void Broker::setStore (const boost::shared_ptr<MessageStore>& _store)
{
+ // Exit now if multiple store plugins are attempting to load
+ if (!NullMessageStore::isNullStore(store.get())) {
+ QPID_LOG(error, "Multiple store plugins are not supported");
+ throw Exception(QPID_MSG("Failed to start broker: Multiple store plugins were loaded"));
+ }
+
store.reset(new MessageStoreModule (_store));
setStore();
}