The discovery service enables you to discover Java Dynamic Management agents in a network. Only agents that have a discovery responder registered in their MBean server can be discovered using this service.
The discovery service can be functionally divided into two parts:
The discovery search service which actively finds other agents.
The discovery support service which listens for other agents to be activated.
In a discovery search operation, the discovery client sends a discovery request to a multicast group and waits for responses. The agents must have a DiscoveryResponder registered in their MBean server in order to be found by the discovery service. All discovery responder which receive the discovery request send a response containing information about the connectors and protocol adaptor which are available in their agent.

A manager application might use the discovery search service during its initialization phase, to determine all agents that are accessible in its network environment.
The discovery support service passively monitor discovery responders in a multicast group. When discovery responders are activated or deactivated, indicating that their agent is starting or stopping, they send a multicast message about their new state. A discovery monitor object listens for discovery responder objects starting or stopping in the multicast group.
By registering listeners with the discovery monitor, a management application may know when agents become available or unavailable. The discovery support message for an agent that is being started also contains the list of its connector and protocol adaptor.
A management application can use the discovery monitor to maintain a list of active agents and the protocols they support.