From 76bb9ff15b04a406153f7de71092eef0e27c0249 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Fri, 8 Feb 2008 22:27:38 +0000 Subject: From Ted Ross, https://issues.apache.org/jira/browse/QPID-782 The attached patch makes the following changes: The --load-dir option has been renamed to --module-dir The --no-modules option and been replaced by the --no-module-dir option. This new option suppresses ONLY the loading of modules from the directory. The --no-data-dir option has been added to suppress the use of a data directory. Logging has been added for data directory lock and unlock. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@620017 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/DataDir.cpp | 10 ++++++++++ cpp/src/qpid/broker/Broker.cpp | 5 ++++- cpp/src/qpid/broker/Broker.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid') diff --git a/cpp/src/qpid/DataDir.cpp b/cpp/src/qpid/DataDir.cpp index baf536c109..f5f5444ac0 100644 --- a/cpp/src/qpid/DataDir.cpp +++ b/cpp/src/qpid/DataDir.cpp @@ -20,6 +20,7 @@ #include "Exception.h" #include "DataDir.h" +#include "qpid/log/Statement.h" #include #include #include @@ -32,7 +33,10 @@ DataDir::DataDir (std::string path) : dirPath (path) { if (!enabled) + { + QPID_LOG (info, "No data directory - Disabling persistent configuration"); return; + } const char *cpath = dirPath.c_str (); struct stat s; @@ -55,14 +59,20 @@ DataDir::DataDir (std::string path) : oss << "Error locking data directory: errno=" << errno; throw Exception (oss.str ()); } + + QPID_LOG (info, "Locked data direcory: " << dirPath); } DataDir::~DataDir () { + if (dirPath.empty ()) + return; + std::string lockFile (dirPath); lockFile = lockFile + "/lock"; ::unlink (lockFile.c_str ()); + QPID_LOG (info, "Unlocked data directory: " << dirPath); } } // namespace qpid diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp index 1d55db0c0f..117a93b571 100644 --- a/cpp/src/qpid/broker/Broker.cpp +++ b/cpp/src/qpid/broker/Broker.cpp @@ -60,6 +60,7 @@ namespace broker { Broker::Options::Options(const std::string& name) : qpid::Options(name), + noDataDir(0), dataDir("/var/lib/qpidd"), port(DEFAULT_PORT), workerThreads(5), @@ -75,6 +76,8 @@ Broker::Options::Options(const std::string& name) : addOptions() ("data-dir", optValue(dataDir,"DIR"), "Directory to contain persistent data generated by the broker") + ("no-data-dir", optValue(noDataDir), + "Don't use a data directory. No persistent configuration will be loaded or stored") ("port,p", optValue(port,"PORT"), "Tells the broker to listen on PORT") ("worker-threads", optValue(workerThreads, "N"), @@ -103,7 +106,7 @@ const std::string qpid_management("qpid.management"); Broker::Broker(const Broker::Options& conf) : config(conf), store(0), - dataDir(conf.dataDir), + dataDir(conf.noDataDir ? std::string () : conf.dataDir), factory(*this), sessionManager(conf.ack) { diff --git a/cpp/src/qpid/broker/Broker.h b/cpp/src/qpid/broker/Broker.h index 852cb2da42..68dbf570f0 100644 --- a/cpp/src/qpid/broker/Broker.h +++ b/cpp/src/qpid/broker/Broker.h @@ -61,6 +61,7 @@ class Broker : public sys::Runnable, public Plugin::Target, public management::M struct Options : public qpid::Options { Options(const std::string& name="Broker Options"); + bool noDataDir; std::string dataDir; uint16_t port; int workerThreads; -- cgit v1.2.1