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:
public static String TAG = "<your plug-in package name>"; // e.g. org.eclipse.hyades.datacollection
public SetConfig() { super(TAG); }
public void init(Hashtable hash) { String home = HashUtility.getValue(hash, "RASERVER_HOME"); setFileName(home + sr + "plug-ins" + sr + TAG + sr + "config" + sr + "pluginconfig.xml"); }
//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();
Fare riferimento al progetto Hyades org.eclipse.hyades.collection.framework. Gli esempi sono situati nella cartella origine src.config: