Subgenk | Bonjour,
Voilà j'ai récemment créer un service java sous forme de MBeans pour pouvoir gérer les connections dessus (que j'arrive difficilement à faire aller, mais le problème n'est pas là).
Jusqu'à maintenant j'utilisais la JConsole pour me connecter et contrôler ce service/serveur. J'aimerai maintenant utiliser ma propre GUI Java pour contrôler ce service...
J'ai passé tout l'après-midi sur le package javax.management, sans rien réussir à en tirer. Je n'arrive pas à saisir le principe, ce qu'il faut faire pour pouvoir se connecter puis contrôler etc... Si quelqu'un réussissait à me montrer un exemple concret voir une explication précises, j'en serais soulagé !!
Merci d'avance.
voici le code de mes 3 classes contenue dans mon service
Code :
- package ServiceJVXTest;
- public class Main
- {
- public static void main(String[] args) throws Exception {
- // Get the Platform MBean Server
- MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
- // Construct the ObjectName for the MBean we will register
- ObjectName name = new ObjectName("ServiceJVXTest:type=BackGroundService" );
- // Create the Hello World MBean
- BackGroundService mbean = new BackGroundService();
- // Register the Hello World MBean
- mbs.registerMBean(mbean, name);
- Thread.sleep(Long.MAX_VALUE);
- }
- }
|
Code :
- package ServiceJVXTest;
- public interface BackGroundServiceMBean
- {
- // Methodes accessibles
-
- public void setText(String text);
- public void setTime(int time);
- public void ecrireFichier();
- public void setFichier(String text);
- // Méthodes pour la Jconsole
- public String getName();
- public int getCacheSize();
- public void setCacheSize(int size);
- }
|
Code :
- package ServiceJVXTest;
- public class BackGroundService implements BackGroundServiceMBean
- {
- private int time,i;
- private boolean isTrue;
- private String text;
- private FileWriter fw;
- private final String name = "BackGroundService";
- private int cacheSize = DEFAULT_CACHE_SIZE;
- private static final int DEFAULT_CACHE_SIZE = 200;
- public BackGroundService()
- {
- try
- {
- this.fw = new FileWriter("C:\\fichierTest.txt" );
- this.time=10000;
- this.text="test";
- this.i=0;
- this.isTrue = true;
- }
- catch (IOException ex)
- {
- Logger.getLogger(BackGroundService.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void setFichier(String text)
- {
- try
- {
- this.fw = new FileWriter(text);
- }
- catch (IOException ex)
- {
- Logger.getLogger(BackGroundService.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void setText(String text)
- {
- this.text = text;
- }
- public String getText()
- {
- return this.text;
- }
-
- public void setTime(int time)
- {
- this.time = time;
- }
- public int getTime()
- {
- return this.time;
- }
- public void ecrireFichier()
- {
- try
- {
- try {
- i++;
- fw.write("On ecrit dans le fichier: "+text+" "+ i+" fois,"+ " tous les "+time/1000+" secondes.\n" );
- fw.flush();
-
- }
- catch (IOException ex)
- {
- Logger.getLogger(BackGroundService.class.getName()).log(Level.SEVERE, null, ex);
- }
- Thread.sleep(time);
- }
- catch (InterruptedException ex)
- {
- Logger.getLogger(BackGroundService.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public String getName() {
- return this.name;
- }
- public int getCacheSize() {
- return this.getCacheSize();
- }
- public void setCacheSize(int size) {
- this.cacheSize=size;
- System.out.println("Cache Size is now : "+cacheSize);
- }
- }
|
Message édité par Subgenk le 02-04-2009 à 17:24:24
|