diff options
Diffstat (limited to 'cpp/src/IceGrid/NodeI.cpp')
-rw-r--r-- | cpp/src/IceGrid/NodeI.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/NodeI.cpp b/cpp/src/IceGrid/NodeI.cpp index 119fe61a7b8..25f96133ba8 100644 --- a/cpp/src/IceGrid/NodeI.cpp +++ b/cpp/src/IceGrid/NodeI.cpp @@ -469,8 +469,11 @@ NodeI::keepAlive() { try { - Ice::ObjectPrx object = getCommunicator()->stringToProxy("IceGrid/Registry@IceGrid.Registry.Internal"); - RegistryPrx registry = RegistryPrx::uncheckedCast(object); + Ice::PropertiesPtr properties = getCommunicator()->getProperties(); + const string instanceNameProperty = "IceGrid.InstanceName"; + string instanceName = properties->getPropertyWithDefault(instanceNameProperty, "IceGrid"); + Ice::ObjectPrx obj = getCommunicator()->stringToProxy(instanceName + "/Registry@IceGrid.Registry.Internal"); + RegistryPrx registry = RegistryPrx::uncheckedCast(obj); NodeObserverPrx observer; setSession(registry->registerNode(_name, _proxy, _platform.getNodeInfo(), observer), observer); checkConsistency(); |