The admin Object
On this page:
Overview of the admin Object
When the Administrative Facility is enabled, you can configure Ice to host an administrative object in the Ice.Admin
object adapter, or you can programmatically host this object in your own object adapter.
In this manual, we refer to the administrative object as the admin
object.
You can retrieve a proxy to the admin object associated with your communicator, if any, by calling getAdmin
on this communicator, for example:
auto adminProxy = myCommunicator->getAdmin(); // adminProxy is a std::shared_ptr<Ice::ObjectPrx>
Ice::ObjectPrx adminProxy = myCommunicator->getAdmin();
Facets of the admin Object
An Ice object is actually a collection of sub-objects known as facets whose types are not necessarily related. Although facets are typically used for extending and versioning types, they also allow a group of interfaces with a common purpose to be consolidated into a single Ice object with an established interface for navigation. These qualities make facets an excellent match for the requirements of the administrative facility.
Each facet of the admin
object represents a distinct administrative capability. The object does not have a default facet (that is, a facet with an empty name). However, the Ice run time implements several built-in facets that it adds to the admin
object:
- the
Process
facet - the
Properties
facet - the Logger facet
- the
Metrics
facet
An application can control which facets are installed with a configuration property. An application can also install its own facets if necessary. Administrative facets are not required to inherit from a common Slice interface.