...
Exemple: surveillance de la disponibilité d'un service CMIS par une application "cliente"
Une application de gestion de fichier s'appuie sur un serveur CMIS pour stocker ses fichiers. Si ce serveur CMIS n'est pas disponible (pour maintenance, par exemple), l'application doit continuer à fonctionner en "mode dégradé" .
Le service cmisFileStorageService doit savoir en temps réel si le service CMIS est actif ou non. Le bean jmxTestCmis, *grâce à sa méthode *getCmisIsReady(), donne cette information.
Les propriétés et méthodes de ce bean sont exposés comme MBean grâce à la classe Spring MBeanExporter.
Les beans Spring :
<bean id="cmisFileStorageService" class="org.esupportail.application.service.fileStorage.CmisFileStorageServiceImpl" lazy-init="true">
<description>A bean to manage files upload and download to the CMIS server.</description>
...
<property name="jmxTestCmis" ref="jmxTestCmis"/>
</bean>
<bean id="jmxTestCmis"
class="org.esupportail.application.service.fileStorage.JmxTestCmisImpl">
...
</bean>
<!-- JMX to control CMIS - ->
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter" >
<property name="beans">
<map>
<entry key="bean:name=testCmis" value-ref="jmxTestCmis"/>
</map>
</property>
</bean>
...