summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/Broker.cpp6
-rw-r--r--qpid/cpp/src/qpid/broker/management-schema.xml3
2 files changed, 8 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/Broker.cpp b/qpid/cpp/src/qpid/broker/Broker.cpp
index e4268255a1..9e2e12c840 100644
--- a/qpid/cpp/src/qpid/broker/Broker.cpp
+++ b/qpid/cpp/src/qpid/broker/Broker.cpp
@@ -689,6 +689,11 @@ Manageable::status_t Broker::ManagementMethod (uint32_t methodId,
status = queueRedirect(srcQueue, tgtQueue, getCurrentPublisher());
break;
}
+ case _qmf::Broker::METHOD_SHUTDOWN :
+ {
+ QPID_LOG (info, "Broker received shutdown command");
+ shutdown();
+ }
default:
QPID_LOG (debug, "Broker ManagementMethod not implemented: id=" << methodId << "]");
status = Manageable::STATUS_NOT_IMPLEMENTED;
@@ -1289,7 +1294,6 @@ void Broker::queueRedirectDestroy(Queue::shared_ptr srcQ,
}
}
-
const Broker::TransportInfo& Broker::getTransportInfo(const std::string& name) const {
static TransportInfo nullTransportInfo;
TransportMap::const_iterator i
diff --git a/qpid/cpp/src/qpid/broker/management-schema.xml b/qpid/cpp/src/qpid/broker/management-schema.xml
index d6bbd01a09..debc1a4af2 100644
--- a/qpid/cpp/src/qpid/broker/management-schema.xml
+++ b/qpid/cpp/src/qpid/broker/management-schema.xml
@@ -194,6 +194,9 @@
<arg name="targetQueue" dir="I" type="sstr" desc="Redirect target queue. Blank disables redirect."/>
</method>
+ <method name="shutdown" desc="Shutdown the broker">
+ </method>
+
</class>
<!--