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 dormir.
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. Décripteur 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
).