Estensione di Agent Controller

Agent Controller è un processo daemon che abilita le applicazioni client ad avviare processi host e a interagire con gli agenti che coesistono all'interno dei processi host.  Per l'ampliamento delle funzioni di Agent Controller viene utilizzato un singolo file di configurazione.

Agent Controller può essere espanso in vari modi, ad esempio aggiungendo o espandendo una funzione oppure aggiungendo un nuovo agente. Per consentire l'utilizzo della funzione plugin in Agent Controller, è necessario modificare il relativo file di configurazione. Ciò è possibile mediante l'espansione del generatore di configurazioni, che consentirà di generare un file di configurazione personalizzato quando SetConfig è in esecuzione. Espandendo il generatore di configurazioni, sarà possibile interrogare informazioni specifiche dell'utente al momento dell'impostazione e utilizzarle per generare un file di configurazione personalizzato. Inoltre, è possibile fornire la propria logica nell'espansione per generare file di configurazione specifici per una piattaforma.

Procedere come segue per espandere il generatore di configurazioni allo scopo di creare un file di configurazione per il proprio plugin:

  1. Creare un file jar di nome config.jar nella directory lib dei plugin. Il generatore di configurazioni eseguirà la ricerca del file jar.
  2. Creare una directory config nella directory principale dei plugin, in cui memorizzare il file di configurazione. Il generatore di configurazioni ricercherà automaticamente il plugin del file jar e creerà un file di configurazione di nome pluginconfig.xml nella directory config dei plugin.
  3. Scrivere un'estensione del generatore di configurazioni:
    1. Denominare la classe con il <nome del pacchetto plugin>.SetConfig. In tal modo, la classe org.eclipse.hyades.internal.config.generator.SetConfigSkeleton verrà espansa.
    2. Definire un tag per il plugin:
      public static String TAG = "<your plug-in package name>"; // e.g. org.eclipse.hyades.datacollection
    3. Implementare i sei metodi seguenti, richiesti dal generatore di configurazioni allo scopo di generare correttamente il file di configurazione personalizzato:
      • SetConfig(): Si dovrebbe chiamare almeno super(TAG) dentro il costruttore di argomento null.
        Esempio:
        public SetConfig() {
          super(TAG);
          }
      • init(): tale metodo può eseguire l'inizializzazione utilizzando la tabella hash passata tramite il generatore di configurazione principale. La tabella hash contiene argomenti di riga commplug-in passati a SetConfig. Sarà necessario specificare il nome del plugin di percorso del file di configurazione dentro questo metodo.
        Esempio:
            	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(): tale metodo viene utilizzato per chiedere all'utente informazioni specifiche sul plugin.
      • printHelp(): tale metodo viene utilizzato per visualizzare messaggi di aiuto specifici per il plugin. Questo metodo può essere vuoto.
      • printExamples(): tale metodo viene utilizzato per visualizzare esempi di utilizzo come argomenti di riga di comandi. Questo metodo può essere vuoto.
      • generateConfiguration(): tale metodo viene utilizzato per generare il DOM XML per il plugin.
        Esempio:
        //You should start this method with this section:
          
          doc = configFile.getDoc();
          if(doc == null) {
        	  return;
          }
        
          pConfig = doc.createElement(PluginConfig.TAG);
          holder = configFile.getHolder();
          holder.appendChild(pConfig);
        
          //End plug-in end the method with this section:
          
          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();
        

Esempi di scrittura di un'estensione di generatore file di configurazione

Fare riferimento al progetto Hyades org.eclipse.hyades.collection.framework. Gli esempi sono situati nella cartella origine src.config:



Riferimenti correlati
File di configurazione di Agent Controller

 


(C) Copyright IBM Corporation 2000, 2005. Tutti i diritti riservati.