Broker name parametrization
---------------------------

                 Key: QPID-3785
                 URL: https://issues.apache.org/jira/browse/QPID-3785
             Project: Qpid
          Issue Type: Improvement
          Components: C++ Broker, Qpid Managment Framework
            Reporter: Sebastiano Merlino
            Assignee: Ted Ross


In order to allow management tools (e.g. cumin, sesame) to properly work in a 
multibroker environment without overlapping data between different brokers, it 
would be useful to set the broker name through the use of a parameter. For 
example, sesame generate the data identifier starting from the broker name.

In actual implementation the broker name is always settled to "amqp-broker". I 
have applied this patch to the code:


Index: Broker.cpp
===================================================================
--- Broker.cpp  (revisione 1235214)
+++ Broker.cpp  (copia locale)
@@ -101,6 +101,7 @@
 
 Broker::Options::Options(const std::string& name) :
     qpid::Options(name),
+       brokerName("amqp-broker"),
     noDataDir(0),
     port(DEFAULT_PORT),
     workerThreads(5),
@@ -135,6 +136,7 @@
     dataDir += DEFAULT_DATA_DIR_NAME;
 
     addOptions()
+               ("broker-name", optValue(brokerName, "STR"), "Broker name on 
the network")
         ("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")
@@ -209,7 +211,7 @@
         System* system = new System (dataDir.isEnabled() ? dataDir.getPath() : 
string(), this);
         systemObject = System::shared_ptr(system);
 
-        mgmtObject = new _qmf::Broker(managementAgent.get(), this, system, 
"amqp-broker");
+        mgmtObject = new _qmf::Broker(managementAgent.get(), this, system, 
conf.brokerName);
         
mgmtObject->set_systemRef(system->GetManagementObject()->getObjectId());
         mgmtObject->set_port(conf.port);
         mgmtObject->set_workerThreads(conf.workerThreads);
Index: Broker.h
===================================================================
--- Broker.h    (revisione 1235214)
+++ Broker.h    (copia locale)
@@ -96,6 +96,7 @@
 
         QPID_BROKER_EXTERN Options(const std::string& name="Broker Options");
 
+               std::string brokerName;
         bool noDataDir;
         std::string dataDir;
         uint16_t port;

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to