Well-Known Registry Objects
3 min read
3 min read
3 min read
3 min read
3 min read
3 min read
3 min read
3 min read
3 min read
Default Identities of Registry Objects
The IceGrid registry hosts several well-known objects. The following table shows the default identities of these objects and their corresponding Slice interfaces:
| Default Identity | Interface |
|---|---|
IceGrid/AdminSessionManager | Glacier2::SessionManager |
IceGrid/AdminSessionManager-replica | Glacier2::SessionManager |
IceGrid/AdminSSLSessionManager | Glacier2::SSLSessionManager |
IceGrid/AdminSSLSessionManager-replica | Glacier2::SSLSessionManager |
IceGrid/Locator | Ice::Locator |
IceGrid/Query | IceGrid::Query |
IceGrid/Registry | IceGrid::Registry |
IceGrid/Registry-replica | IceGrid::Registry |
IceGrid/RegistryUserAccountMapper | IceGrid::UserAccountMapper |
IceGrid/RegistryUserAccountMapper-replica | IceGrid::UserAccountMapper |
IceGrid/SessionManager | Glacier2::SessionManager |
IceGrid/SSLSessionManager | Glacier2::SSLSessionManager |
Ice/LocatorFinder | Ice::LocatorFinder |
You can assign unique identities to these objects by configuring the IceGrid.InstanceName property, as shown in the following example:
IceGrid.InstanceName=MP3GridThis property changes the identities of the well-known objects to use MP3Grid instead of IceGrid as the identity category. For example, the identity of the locator becomes MP3Grid/Locator.
The client's configuration must also be changed to reflect the new identity:
Ice.Default.Locator=MP3Grid/Locator:tcp -h registryhost -p 4061Furthermore, any uses of these identities in application code must be updated as well.
Using the LocatorFinder Interface
LocatorFinder InterfaceIce requires all locator implementations to support the Ice::LocatorFinder interface:
module Ice{ interface LocatorFinder { Locator* getLocator(); }}An object supporting this interface must be available with the identity Ice/LocatorFinder. By knowing the host and port of a locator's client endpoints, a client can discover the locator's proxy at run time with a call to getLocator:
Ice::LocatorFinderPrx finder{ communicator, "Ice/LocatorFinder:tcp -p 4061 -h gridhost");
auto locator = finder.getLocator();communicator->setDefaultLocator(locator);