summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/ServerI.cpp
diff options
context:
space:
mode:
authorAndreas Sommer <andreas.sommer87@googlemail.com>2016-11-15 16:48:48 +0100
committerAndreas Sommer <andreas.sommer87@googlemail.com>2016-11-15 20:57:27 +0100
commitf11c7c1fde14cdadcf3d4c253f3861760fcdb1e2 (patch)
treea5c932210cd6b3286da072e348c38baf6eaf1e4b /cpp/src/IceGrid/ServerI.cpp
parentUpdates to Java builds (diff)
downloadice-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.cpp17
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();