8.2. Exemple de MBean standard
Cette section développe deux exemples de services MBean qui font partie d'un même package d'archive de service (
.sar).
L'interface
ConfigServiceMBean déclare des méthodes spécifiques telles que les méthodes start, getTimeout et stop pour qu'elles démarrent, mettent en attente et stoppent le MBean correctement sans utiliser de classes spécifiques à JBoss. La classe ConfigService implémente l'interface ConfigServiceMBean et de ce fait implémente les méthodes utilisées dans cette interface.
La classe
PlainThread étend la classe ServiceMBeanSupport et implémente l'interface PlainThreadMBean. PlainThread démarre un thread et utilise la méthode ConfigServiceMBean.getTimeout() pour déterminer la durée pendant laquelle le thread doit être mis en veille.
Exemple 8.1. Exemples de services MBean
Le descripteur
jboss-service.xml montre comment la classe ConfigService est injectée dans la classe PlainThread en utilisant la balise inject. La balise inject établit une dépendance entre PlainThreadMBean et ConfigServiceMBean permettant ainsi à PlainThreadMBean d'utiliser ConfigServiceMBean aisément.
Exemple 8.2. Descripteur de service JBoss-service.xml
Aprés avoir rédigé les exemples de MBeans, vous pouvez empaqueter les classes et le descripteur
jboss-service.xml dans le dossier META-INF d'une archive de service (.sar).