O Ficheiro pluginconfig.xml

Conteúdos

 

Nota

Quando consultar as localizações de ficheiros e directórios neste documento, <install-home> é o directório onde o pacote Controlador de Agentes foi descompactado.

Introdução

O ficheiro pluginconfig.xml reside em <install-home>\plugins\<plugin-name>\config.  É o mecanismo para expandir os nomes alternativos de ambiente e de aplicação definidos em serviceconfig.xml de acordo com as necessidades de aplicações agrupadas individualmente. Expandir as definições de ambiente definidas em serviceconfig.xml como um impacto em todas as aplicações (incluindo agentes) iniciadas pelo Controlador de Agentes, uma vez que todas herdam esse ambiente. Isto permite que um "plug-in" torne as aplicações localizáveis por outros processos iniciados pelo Controlador de Agentes (p.e. adicionando o respectivo caminho a CLASSPATH env var).Expandir a lista do nome alternativo da aplicação é o meio para iniciar uma nova aplicação, se o controlador de Agentes estiver configurado para restringir os seus serviços de iniciação apenas aos que constam da lista.

Assim, o ficheiro pluginconfig.xml faculta um mecanismo de empacotamento de componentes complementares que são opcionais para a instalação básica do Controlador de Agentes. Desde que o ficheiro serviceconfig.xml não seja modificado, a remoção dos suplementos é igualmente fácil. 

Os Agentes podem requerer um ficheiro pluginconfig.xml e um ficheiro agent.xml. O ficheiro agent.xml é requerido para definir uma aplicação de agentes se pretender que o novo controlador de agentes procure agentes disponíveis (p. e. ser capaz de os identificar).  O ficheiro pluginconfig.xml é requerido se o agente necessitar de expandir o ambiente serviceconfig.xml ou a lista de nome alternativo. A utilização do ficheiro agent.xml irá substituir a utilização do ficheiro pluginconfig.xml numa edição futura.

Nota

O termo "plugin" aqui utilizado é apenas uma referência solta a um plug-in Eclipse.  Isto acontece porque os plug-ins reais foram utilizados inicialmente.  O nome atribuído não é o correcto, uma vez que este ficheiro de configurações pode referir qualquer aplicação que não seja um plug-in adequado para instalação na área de trabalho do Eclipse.

O ficheiro pluginconfig.xml contém os seguintes segmentos principais:

 

Configuração do Plug-in

 

A hierarquia dos elementos contidos no ficheiro pluginconfig.xml é apresentada abaixo. A ordem dos elementos apresentados no mesmo nível não é importante. As hiperligações na hierarquia estabelecem ligações à descrição do elemento formal na secção Elementos e Atributos.


    PluginConfiguration
        AgentControllerEnvironment
            Variable
        Option
        Application
            Variable
            Parameter
        Agent
            Option

       

Elementos e Atributos

 

Elemento: PluginConfiguration
Este é o elemento raiz da configuração do plug-in. Só é permitida uma ocorrência de   AgentControllerEnvironment. Todos os outros elementos (Option, Application e Agent) permitem várias ocorrências.  Qualquer um dos subelementos pode ser omitido.

Subelementos:     AgentControllerEnvironment

                            Option
                            Application
                            Agent
                           
Atributos:

requires
(opcional) Este valor de cadeia é uma lista separada por vírgulas do(s) nome(s) do(s) plug-in(s), dos quais depende esta configuração. Desde TPTP 4.0, foi adicionado um sufixo de identificador de versão aos nomes dos plug-ins. Consiste num carácter de traço de sublinhado seguido do número da versão para a edição. Por exemplo: org.eclipse.tptp.platform.agentcontroller_4.0.0. Para assegurar a compatibilidade do plug-in para as aplicações que têm dependências em plug-ins de edições anteriores (plug-ins que não têm um sufixo de identificador de versão), tem a opção de especificar o nome do plug-in para o atributo "requires", excluindo o identificador da versão. Neste caso, o carregador de configuração do Controlador de Agentes irá primeiro tentar localizar o nome completo do plug-in, incluindo o sufixo do identificador de versão. Se não conseguir, o carregador de configuração irá então procurar o nome do plug-in, excluindo o sufixo de identificador de versão. Se existir mais do que um plug-in com o mesmo nome, será utilizado o primeiro nome de plug-in devolvido pelo sistema operativo.

Elemento: AgentControllerEnvironment
O elemento AgentControllerEnvironment inclui um ou mais elementos variáveis que irão expandir as variáveis de ambiente global definidas em serviceconfig.xml.  Estas farão parte do ambiente utilizado no início de todas as aplicações.


Utilizado por: PluginConfiguration

Subelementos:     Variable

 

Elemento: Variable

Este elemento Variable define uma variável de ambiente e a forma como deve ser posicionada no ambiente existente para formar o ambiente predefinido para todas as aplicações e agentes lançados. Podem ser definidos zero ou mais destes elementos para o AgentControllerEnvironment.

Utilizado por: AgentControllerEnvironment

Atributos:

name
Este valor de cadeia especifica o nome da variável de ambiente.
value
Este valor de cadeia especifica o valor da variável do ambiente.
position
(opcional) Este valor de cadeia é um de "append", "prepend" ou "replace", indicando onde colocar este ambiente relativo ao ambiente predefinido existente.

Elemento: Option
Uma Opção como elemento superior em PluginConfiguration é utilizada para especificar dados arbitrários de configuração arbitrários que serão passados para cada agente que se registar com o Controlador de Agentes. Estas informações estão incluídas nas informações de propriedades devolvidas a cada agente para um cliente. O agente pode interpretar esta informação (ou não) como achar adequado. As informações opcionais só são fornecidas a agentes que utilizem a API original (níveis de compatibilidade em retrocesso) do Controlador de Agentes. Utilize a configuração agent.xml para facultar informações de configuração a um agente utilizando a nova API.

Utilizado por: Agente

Atributos:

name
Este valor de cadeia especifica o espaço de nomes para a opção.
type
Este valor de cadeia especifica o nome da opção.
value
A cadeia especifica o valor da opção.
Elemento: Application
O elemento Application define ou expande um nome alternativo e informações de lançamento para uma aplicação. Pode incluir definições de ambiente que apenas são visíveis nesta aplicação específica quando esta é lançada.  Esta aplicação é adicionada à lista definida no elemento ApplicationAliases em serviceconfig.xml.


Utilizado por: PluginConfiguration

Subelementos:     Variable

                            Parâmetro

Atributos:

executable
Este valor de cadeia especifica o nome alternativo para o executável da aplicação especificado no atributo path. Os clientes têm de utilizar este nome para identificar esta aplicação.  Se o atributo extends também for especificado, o nome atribuído aqui deverá corresponder a um nome alternativo definido previamente. 
path
Este valor de cadeia especifica o nome completo do caminho da aplicação a lançar. Isto é utilizado no lugar do nome alternativo quando se lançar o executável da aplicação.
O atributo é ignorado se o atributo extends for especificado. 
location
(opcional) Este valor de cadeia especifica o directório a partir do qual o executável vai ser lançado, algumas vezes referido como o directório de trabalho do executável enquanto este está a ser executado.
extends
(opcional) Este valor de cadeia especifica o nome de configuração para um nome alternativo definido previamente. No entanto, os nomes de configuração não são suportados, pelo que o valor deste atributo deverá ser definido para "default". Se extends estiver presente (independentemente do valor), há a indicação de que a informação contida nesta Aplicação deverá expandir a informação de lançamento definida anteriormente no nome alternativo da aplicação correspondente. Não é permitido alterar o valor path (por exemplo, o executável a ser lançado). Se não for encontrada uma correspondência com o nome do executável, este elemento Application não terá efeito.o

Elemento: Variable
Este elemento Variable define uma variável do ambiente e a forma como deve ser posicionada no ambiente existente quando a aplicação é lançada. Podem ser definidos zero ou mais destes elementos para uma Application.

Utilizado por: Application

Atributos:

name
Este valor de cadeia especifica o nome da variável de ambiente.
value
Este valor de cadeia especifica o valor da variável do ambiente.
position
(opcional) Este valor de cadeia é um de "append", "prepend" ou "replace", indicando onde colocar este ambiente relativo ao ambiente predefinido.

Elemento: Parameter

O elemento Parameter define um argumento de linha de comandos a ser dado à aplicação quando lançada. Podem ser definidos zero ou mais destes elementos para uma Application.

Utilizado por: Application

Atributos:

value
Este valor de cadeia especifica um argumento de linha de comandos.
position
(opcional) Este valor de cadeia é um de "append", "prepend" ou "replace" indicando onde colocar este argumento relativo aos argumentos de linha de comandos existentes.

Elemento: Agent
Faculta informações de configuração para um agente específico. Apenas utilizado por agentes que utilizam a API original  (níveis de compatibilidade de retrocesso) do Controlador de Agentes. Utilize o ficheiro de configuração agent.xml para facultar informações de configuração a um agente utilizando a nova API.

Utilizado por: PluginConfiguration

Subelementos:     Option

Atributos:

name
Este valor de cadeia especifica o nome do agente ao qual as informações de configuração deverão ser aplicadas.
type
(opcional) Este valor de cadeia especifica um tipo de agente.
dataChannelSize
(opcional) Este valor de cadeia especifica a quantidade de memória partilhada a alocar para comunicação entre processos. Os valores tomam a forma de um número inteiro positivo com o sufixo M ou K para indicar Megabyte ou Kilobytes respectivamente ou sem qualquer sufixo, que indica bytes. Valores exemplo: "16M", "8K" ou "16000".
logFile
(opcional) Esta cadeia especifica um nome de caminho totalmente qualificado de um ficheiro. Se especificado, os dados que normalmente chegariam ao cliente através do canal de dados serão em vez disso gravados para este ficheiro.
client
(opcional) Esta cadeia especifica se este agente está a interagir com um cliente.  Os valores possíveis são "DYNAMIC" ou "HEADLESS".   HEADLESS indica que não existe nenhum cliente associado.  A predefinição é DYNAMIC.
extends
(opcional) Este valor de cadeia especifica o nome de configuração para um Agente previamente definido. No entanto, os nomes de configuração não são suportados, pelo que o valor deste atributo deverá ser definido para "default". Se extends estiver presente (independentemente do valor), há a indicação de que a informação contida neste Agente deverá expandir as informações de configuração definidas anteriormente no elemento Agent correspondente. Utilizado para expandir a lista de Opções associada a um agente particular.

Elemento: Option
É utilizado um subelemento Option num elemento  Agent para especificar dados de configuração arbitrários que serão transferidos para o agente quando este se registar com o Controlador de Agentes.  O agente pode interpretar esta informação (ou não), como achar adequado.

Utilizado por: Agente

Atributos:

name
uma cadeia arbitrária para dar nome à opção (por exemplo, espaço de nomes)
type
uma cadeia arbitrária para dar nome ao tipo de opção (por exemplo, nome)
value
um valor de cadeia arbitrário para a opção

Exemplo de Ficheiro pluginconfig.xml

 

<PluginConfiguration requires="org.eclipse.tptp.platform.collection.framework">
    <AgentControllerEnvironment>
        <Variable name="CLASSPATH_MY_AGENTS" position="append"
        value="%PLUGINS_HOME%\org.eclipse.tptp.myagents\lib\coreagent.jar" />
    </AgentControllerEnvironment>

    <Application executable="MyAgent" location="%SYS_TEMP_DIR%" path="%JAVA_PATH%">

        <Variable name="CLASSPATH" position="append"
          value="%PLUGINS_HOME%\org.eclipse.tptp.myagents\jmx\lib\jmxagent.jar" />  
        <Variable name="CLASSPATH" position="append" value="%CLASSPATH_MY_AGENTS%" />  
        <Parameter position="append" value="-Dapp_home=%MY_HOME%" />  
        <Parameter position="append" value="-DagentXML=%PLUGINS_HOME%
          \org.eclipse.tptp.myagents\jmx\agentXML\MyAgent.xml" />
    </Application>

    <Option name="org.eclipse.tptp.Myagents" type="version" value="2.0"/> 

</PluginConfiguration>
 

Referência Relacionada

Descrição Geral da Configuração do Agente e Controlador de Agentes


Copyright (C) 2006 Intel Corporation.