summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-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 40f68962228..7ce139df955 100644
--- a/cpp/src/IceGrid/ServerI.cpp
+++ b/cpp/src/IceGrid/ServerI.cpp
@@ -341,7 +341,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();