Le framework JMX inclus un ensemble de services directement disponibles pour le développement des agents/objets supervision:
Tout comme les connecteurs/adaptateurs, les services sont des MBeans et son invocable via l'interface de supervision.
Ces services utilisent massivement le principe de notification. JMX repose sur le design pattern “Observer” équivalent à ce qu'on peut trouver pour la conception d'interfaces graphiques.
Le service de notification permet à un objet Mbean de recevoir des notifications en provenance de n'importe quel autre objet MBean.
Le service de Timer fournit des horloges/reveils programmables aux objets de supervision. Tout objet géré peut ainsi demander des notifications temporelles périodiques ou apériodiques.
Un ensemble de méthodes permet de contrôler le cycle de vie du ou des timers instanciés: start(),stop(), isActive() etc.
Pour recevoir les notifications émises par le timer, l'objet s'abonne au timer via la méthode Timer.addNewListener()
Avec le service de monitoring, un objet MBean peut observer l'évolution des valeurs des attributs d'un autre objet.
Le service de monitoring de JMX permet à une application de supervision de déléguer la surveillance d'un attribut d'un objet à l'agent.
3 comportements existent:
Les objets MBeans sont associés à des rôles. Le service assure la supervision et la consistance des relations et offre un système d'interrogation des relations via un langage de requêtes.
Le système de requête permet de récupérer en une opération un ensemble de MBeans répondant aux critères définis.
Les requêtes se composent de 2 paramètres:
Le service M-Let MBean permet de charger à distance des MBeans dans un agent. Permet de fournir une archive d'objet de supervision et de les recharger dans un agent distant.
Pour résumer, JMX offre un ensemble de services supports permettant:
Le protocole RMI proposé par JMX permet également à toute application Java de se connecter facilement à un agent distant.