diff options
author | Andreas Sommer <andreas.sommer87@googlemail.com> | 2016-11-15 16:48:48 +0100 |
---|---|---|
committer | Andreas Sommer <andreas.sommer87@googlemail.com> | 2016-11-15 20:57:27 +0100 |
commit | f11c7c1fde14cdadcf3d4c253f3861760fcdb1e2 (patch) | |
tree | a5c932210cd6b3286da072e348c38baf6eaf1e4b /cpp/src/IceGrid/ServerI.cpp | |
parent | Updates to Java builds (diff) | |
download | ice-f11c7c1fde14cdadcf3d4c253f3861760fcdb1e2.tar.bz2 ice-f11c7c1fde14cdadcf3d4c253f3861760fcdb1e2.tar.xz ice-f11c7c1fde14cdadcf3d4c253f3861760fcdb1e2.zip |
Fix updating runtime properties for services using shared communicator
Diffstat (limited to 'cpp/src/IceGrid/ServerI.cpp')
-rw-r--r-- | cpp/src/IceGrid/ServerI.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp index 1ac85f57a0d..7102acf6e28 100644 --- a/cpp/src/IceGrid/ServerI.cpp +++ b/cpp/src/IceGrid/ServerI.cpp @@ -328,7 +328,22 @@ private: { assert(_p->first.find("config_") == 0); const string service = _p->first.substr(7); - facet = "IceBox.Service." + service + ".Properties"; + bool useSharedCommunicator = false; + for (PropertyDescriptorSeq::const_iterator d = _properties.at("config").begin(); d != _properties.at("config").end(); ++d) + { + if (d->name == "IceBox.UseSharedCommunicator." + service) + { + useSharedCommunicator = (atoi(d->value.c_str()) > 0); + } + } + if (useSharedCommunicator) + { + facet = "IceBox.SharedCommunicator.Properties"; + } + else + { + facet = "IceBox.Service." + service + ".Properties"; + } if(_traceLevels->server > 1) { const string id = _server->getId(); |