diff options
Diffstat (limited to 'cpp/src/IceGrid/IceGridNode.cpp')
-rw-r--r-- | cpp/src/IceGrid/IceGridNode.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/IceGridNode.cpp b/cpp/src/IceGrid/IceGridNode.cpp index b0a7f1bdb54..f89e5f4b95e 100644 --- a/cpp/src/IceGrid/IceGridNode.cpp +++ b/cpp/src/IceGrid/IceGridNode.cpp @@ -410,11 +410,16 @@ NodeService::start(int argc, char* argv[]) _waitQueue->start(); // + // The IceGrid instance name. + // + const string instanceName = communicator()->getDefaultLocator()->ice_getIdentity().category; + + // // Create the server factory. The server factory creates persistent objects // for the server and server adapter. It also takes care of installing the // evictors and object factories necessary to store these objects. // - Identity id = communicator()->stringToIdentity(IceUtil::generateUUID()); + Identity id = communicator()->stringToIdentity(instanceName + "/" + IceUtil::generateUUID()); NodePrx nodeProxy = NodePrx::uncheckedCast(_adapter->createProxy(id)); _node = new NodeI(_adapter, _sessions, _activator, _waitQueue, traceLevels, nodeProxy, name, mapper); _adapter->add(_node, nodeProxy->ice_getIdentity()); @@ -462,7 +467,6 @@ NodeService::start(int argc, char* argv[]) AdminPrx admin; try { - const string instanceName = communicator()->getDefaultLocator()->ice_getIdentity().category; const string adminId = instanceName + "/Admin"; admin = AdminPrx::checkedCast(communicator()->stringToProxy(adminId)); } |