summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Broker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/Broker.cpp')
-rw-r--r--cpp/src/qpid/broker/Broker.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp
index e7b8460f62..c391d25788 100644
--- a/cpp/src/qpid/broker/Broker.cpp
+++ b/cpp/src/qpid/broker/Broker.cpp
@@ -166,7 +166,13 @@ Broker::Broker(const Broker::Options& conf) :
links.setParent (vhost);
}
- createPlugins();
+ // Early-Initialize plugins
+ const Plugin::Plugins& plugins=Plugin::getPlugins();
+ for (Plugin::Plugins::const_iterator i = plugins.begin();
+ i != plugins.end();
+ i++)
+ (*i)->earlyInitialize(*this);
+
// If no plugin store module registered itself, set up the null store.
if (store == 0)
setStore (new NullMessageStore (false));
@@ -217,7 +223,11 @@ Broker::Broker(const Broker::Options& conf) :
#endif
}
- initializePlugins();
+ // Initialize plugins
+ for (Plugin::Plugins::const_iterator i = plugins.begin();
+ i != plugins.end();
+ i++)
+ (*i)->initialize(*this);
}
void Broker::declareStandardExchange(const std::string& name, const std::string& type)