Extension d'Agent Controller

Agent Controller est un processus démon qui permet aux applications client de lancer des processus hôte et d'interagir avec des agents qui cohabitent dans les processus hôte. Un fichier de configuration unique est utilisé pour la gestion de la portée de son comportement.

Agent Controller peut être étendu de différentes façons comme, par exemple, en ajoutant ou en étendant une fonction, ou en ajoutant un nouvel agent. Pour permettre à Agent Controller d'utiliser votre fonction d'extension, le fichier de configuration d'Agent Controller doit être modifié. Cela peut se faire en étendant le générateur de configurations, ce qui permet ensuite de générer un fichier de configuration personnalisé lors de l'exécution de SetConfig. En étendant le générateur de configurations, vous pourrez extraire des informations spécifiques à l'utilisateur au moment de la configuration et utiliser ces informations pour générer un fichier de configuration personnalisé. Vous pouvez aussi fournir votre propre logique dans l'extension pour générer des fichiers de configuration spécifiques à la plateforme.

Procédez comme suit pour étendre le générateur de configurations afin de générer un fichier de configuration pour votre propre plug-in :

  1. Créez un fichier jar nommé config.jar dans le répertoire de votre plug-in lib. Le générateur de configurations recherchera ce fichier jar.
  2. Créez un répertoire nommé config sous le répertoire racine de votre plug-in pour stocker le fichier de configuration. Le générateur de configurations recherchera automatiquement votre plug-in de fichier jar pour créer un fichier de configuration nommé pluginconfig.xml sous le répertoire config de votre plug-in.
  3. Ecrivez une extension de générateur de configurations :
    1. Nommez la classe <nom de votre module>.SetConfig. Elle doit étendre la classe org.eclipse.hyades.internal.config.generator.SetConfigSkeleton.
    2. Définissez une balise pour votre plug-in :
      public static String TAG = "<nom de votre module>"; // p. ex., org.eclipse.hyades.datacollection
    3. Implémentez les six méthodes suivantes requises par le générateur de configurations pour générer correctement le fichier de configuration personnalisé :
      • SetConfig() : vous devriez au moins appeler super(TAG) dans le constructeur d'argument nul.
        Exemple :
        public SetConfig() {
          super(TAG);
          }
      • init(): cette méthode peut effectuer l'initialisation à l'aide de la table de hachage passée par le générateur de configurations principal. La table de hachage contient des arguments de ligne commplug-in passés à SetConfig. Vous devrez spécifier le nom du plug-in du chemin du fichier de configuration dans cette méthode.
        Exemple :
        public void init(Hashtable hash) {
          String home = HashUtility.getValue(hash, "RASERVER_HOME");
          setFileName(home + sr + "plug-ins" + sr + TAG + sr + "config" + sr + "pluginconfig.xml");
          }
        
      • askUser() : cette méthode permet de demander des informations d'utilisateur spécifiques à votre plug-in.
      • printHelp() : cette méthode est utilisée pour afficher des messages d'aide spécifiques au plug-in. Il peut s'agir d'une méthode vide.
      • printExamples() : cette méthode est utilisée pour afficher des exemples d'utilisations comme, par exemple, des arguments de ligne de commande. Il peut s'agir d'une méthode vide.
      • generateConfiguration() : cette méthode est utilisée pour générer le DOM XML pour votre plug-in.
        Exemple :
        //Il est recommandé de commencer cette méthode avec la section suivante :
          
          doc = configFile.getDoc();
          if(doc == null) {
        	  return;
          }
        
          pConfig = doc.createElement(PluginConfig.TAG);
          holder = configFile.getHolder();
          holder.appendChild(pConfig);
        
          //Fin du plug-in : terminez la méthode par la section suivante :
          
          option = doc.createElement(Option.TAG);
          Option.setName(option, TAG);
          Option.setType(option, "version");
          Option.setValue(option, getString("Config.Plugin.Version"));
          pConfig.appendChild(option);
        
          configFile.saveToFile();
        

Exemples d'écriture d'une extension de générateur de fichiers de configuration

Consultez le projet Hyades org.eclipse.hyades.collection.framework. Les exemples se trouvent dans le dossier source src.config :



Référence associée
Fichiers de configuration d'Agent Controller

 


(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.