...
<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>
...
| Bloc de code |
|---|
package org.esupportail.application.services.fileStorage;
public interface JmxTestCmis {
/**
* Enable the use of CMIS.
*/
void enabledCmis();
/**
* Disable the use of CMIS.
*/
void disabledCmis();
/**
* @return the cmisIsReady
*/
Boolean getCmisIsReady();
}
package org.esupportail.application.services.fileStorage;
import java.io.Serializable;
public class JmxTestCmisImpl implements JmxTestCmis, Serializable {
/**
* True if cmis is ready.
* Default value = true.
*/
private Boolean cmisIsReady;
public JmxTestCmisImpl() {
super();
cmisIsReady = true;
}
@Override
public void disabledCmisdisableCmis() {
cmisIsReady = false;
}
@Override
public void enabledCmisenableCmis() {
cmisIsReady = true;
}
public Boolean getCmisIsReady() {
return cmisIsReady;
}
}
|
...
| Bloc de code |
|---|
#!/bin/csh
set cmdLineJMXJar=/opt/admin-java/jmx/cmdline-jmxclient.jar
set port=9656
set jmxHost=host.etablissement.fr
#No User and password so pass '-'
echo "désactive l'utilisation de CMIS pour les applications en ecoute sur le port 9656"
/opt/jdk1.6.0/bin/java -jar ${cmdLineJMXJar} - ${jmxHost}:${port} bean:name=testCmis disabled
|
Remarque
L'application cliente JMX ne fait ici que lire l'état du serveur CMIS. On pourrait imaginer aller plus loin et vouloir l'administrer à distance.
Cela est bien sur possible grâce aux méthodes enableCmis() et disableCmis() du Mbean jmxTestCmis .