JMX pour les nuls... - Les classes de base - Partie 4

left Cette quatrième partie sur JMX (cf. [introduction](/2010/10/jmx-pour-les-nuls-introduction.html, partie 1 portant sur les généralités, partie 2 portant sur les différents MBeans et le concept de Notification et partie 3 sur les agents JMX) permettra de présenter les classes de bases de JMX c’est-à-dire les classes qui sont manipulées en interne par les API de JMX à savoir :

  • ObjectName
  • ObjectInstance
  • Attribute
  • AttributeList

Table des matières

ObjectName

Un nom d’objet permet d’identifier un MBean dans le MBean Server de manière unique. L’application de supervision et d’administration utilise ce nom unique pour identifier le MBean cible.

La classe ObjectName représente ce nom unique dans le MBean Server et est constitué :

  • d’un nom de domaine,
  • d’un ensemble non ordonné d’une ou plusieurs clés-propriétés.

medium

Le nom de domaine est une chaîne de caractères sensible à la casse qui fournit la structure d’un espace de nommage dans l’agent JMX. Il peut être optionnel car le MBean Server est capable d’en fournir un par défaut.

Il peut contenir n’importe quel caractère mis à part les caractères “:”, “*” et “?” et prend généralement la forme d’un nom de domaine DNS inversé (ex : com.jetoile.myDomain). Il est déconseillé qu’il contienne la chaine “//”.

La liste de clés-propriétés permet de fournir un nom unique au MBean dans un domain donné. Une clé-propriété est, en fait, un pair de clé/valeur où la valeur est une chaîne de caractères qui ne doit pas contenir les caractères suivants : “:”, “”", " “, “=”, “*”, “?”. Une propriété doit obligatoirement être présente.

Un objectName aura donc la forme suivante :

[domainName]:property=value[,property=value]*

Exemple :

MyDomain:description=Printer,type=laser
MyDomain:description=Disk,capacity=2
DefaultDomain:description=Disk,capacity=1
DefaultDomain:description=Printer,type=ink
DefaultDomain:description=Printer,type=laser,date=1993
Socrates:description=Printer,type=laser,date=1993

En outre, JMX propose un moyen pour interroger l’annuaire de MBeans présent dans le MBean Server.

Ainsi, pour l’exemple donné ci-dessus, il est possible d’avoir :

  • :” renverra tous les objets du MBean Server. Un objet null ou une chaîne de caractère est équivalente à .
  • “:*” renverra tous les objets du MBean Server présents dans le domaine par défaut
  • “MyDomain:*” ne renverra rien
  • “??Dom*:*” renverra tous les objets présent dans MyDomain
  • :description=Printer,type=laser,” renverra les objets suivants :
    • MyDomain:description=Printer,type=laser
    • DefaultDomain:description=Printer,type=laser,date=1993
    • Socrates:description=Printer,type=laser,date=1993
  • Domain:description=Printer,” renverra les objets suivants :
    • MyDomain:description=Printer,type=laser
    • DefaultDomain:description=Printer,type=ink
    • DefaultDomain:description=Printer,type=laser,date=1993
  • Domain:description=P,*” renverra les mêmes résultats que la requête précédente.

ObjectInstance

La classe ObjectInstance permet de lier le nom d’un objet MBean à sa classe Java. C’est la seule description possible d’un MBean dans le MBean Server puisque l’accès à un MBean par sa référence n’est pas autorisé.

center

Attribute et AttributeList

Les classes Attribute et AttributeList représente les attributs et leurs valeurs d’un MBean. Elles contiennent le nom des attributs sous forme de chaîne de caractères et leurs valeurs sous forme d’objet de type ObjectInstance. center

center

Les exceptions

JMX propose un ensemble d’exceptions qui peuvent principalement être levées par le MBean Server ou les services de l’agent JMX qui effectuent les opérations sur le MBean lorsque le code de ce dernier lève une exception.

medium medium

Le mot de la fin de cette partie

Nous avons vu dans cette partie les objets de base manipulés par JMX. Dans les parties suivantes, nous verrons plus précisément la notion de MBean Server.

 Share!

 
comments powered by Disqus