O Arquivo agent.xml

Nota

Ao fazer referência a locais de arquivo e diretório neste documento, <install-home> é o diretório em que o pacote do Agent Controller foi descompactado.

Introdução

O arquivo de configuração de ativação do agente (agent.xml) contém informações estáticas que o Agent Controller precisa saber para iniciar e gerenciar um agente. Essas informações estáticas incluem o seguinte:

O arquivo agent.xml deve estar localizado abaixo de um diretório nomeado pelo próprio agente.  O diretório nomeado pelo agente deve estar localizado no diretório especificado pelo elemento Agent no arquivo serviceconfig.xml. Por exemplo, um agente nomeado org.eclipse.tptp.TimeCollector teria esse arquivo de configuração localizado em <install-home>/agents/org.eclipse.tptp.TimeCollector/agent.xml. O Agent Controller utiliza o nome do diretório para identificar os agentes solicitados pelo nome.  As informações no arquivo de configuração agent.xml são os metadados desse agente.

Observe que o Agent Controller lê os arquivos agent.xml para todos os agentes apenas uma vez, ao ser inicializado.  Por isso, a modificação do conteúdo desses arquivos ou a inclusão de novos diretórios de agente exige que o Agent Controller seja reiniciado antes que eles sejam efetivados.

Elementos e Atributos

Elemento: Agente
Esse é o elemento raiz do arquivo de configuração do agente. Ele define os metadados para um agente. Um objeto pode solicitar os metadados para um agente e depois utilizar essas informações conforme ele deseja. Os subelementos listados a seguir são utilizados pelo Agent Controller para ativar e gerenciar o agente.  Subelementos adicionais podem ser definidos pelos desenvolvedores de agente que precisam retornar informações adicionais como metadados.  Metadados são úteis a um cliente que está tentando tomar decisões de tempo de execução relativamente a qual agente utilizar em uma determinada tarefa.

Subelementos:     Interface
                            SingleInstance
                            Bound
                            MaxControllers
                            MaxObservers
                            ConfigFile
                            LaunchConfiguration

Atributos:

Nome
Esse valor de cadeia é o nome exclusivo do agente. Espera-se que esse valor seja igual ao nome utilizado pelo agente quando ele se registra no Agent Controller.  Se esses valores forem diferentes, os pedidos para um agente pelo nome apresentarão resultados variados dependendo de o agente já estar ou não em execução.

Elemento: Interface
O valor de cadeia para esse elemento é o nome de uma interface suportada por esse agente. Pode haver zero ou mais elementos Interface em um elemento Agent.  Interface é um nome exclusivo para um conjunto de comandos suportados por um agente.

Utilizado por:       Agent

Elemento:SingleInstance
O valor inteiro para esse elemento é 0 ou 1.  0 (falso) indica que esse agente pode ter várias instâncias em execução simultaneamente. 1 (verdadeiro) indica que somente uma instância desse agente é permitida.  Se definido como 1, o Agent Controller negará pedidos de novas instâncias desse agente se uma instância já estiver em execução.

Utilizado por:       Agent

Elemento: Bound
O valor inteiro para esse elemento é 0 ou 1.  0 (falso) indica que esse agente não está ligado a um aplicativo. 1 (verdadeiro) indica que o agente está ligado a um aplicativo.  Um agente que está ligado a um aplicativo só pode ser ativado por esse aplicativo; assim, o Agent Controller recusará ativar um agente se o valor Bound desse agente for 1.

Utilizado por:       Agent

Elemento: MaxControllers
O valor inteiro para esse elemento é -1, 0 ou um valor positivo. -1 indica "sem limite". O Agent Controller rejeitará os pedidos de direitos do controlador para esse agente se o número de pedidos exceder esse valor.  Os direitos de um controlador são definidos pelo desenvolvedor do agente. O uso esperado é limitar o número de objetos que podem solicitar ações em conflito, como iniciar e parar a coleta de dados.

Utilizado por:       Agent

Elemento: MaxObservers
O valor inteiro para esse elemento é -1, 0 ou um valor positivo. -1 indica "sem limite". O Agent Controller rejeitará os pedidos de direitos do observador para esse agente se o número de pedidos exceder esse valor.  Os direitos de um observador são definidos pelo desenvolvedor do agente. O uso esperado é limitar o número de objetos que podem solicitar ações do tipo consulta, como fornecer dados que são estáticos ou estão sendo coletados (talvez por causa de um pedido por um controlador).

Utilizado por:       Agent

Elemento: ConfigFile
O valor de cadeia para esse elemento especifica o caminho e o nome completos de um arquivo de configuração adicional contendo informações dinâmicas de configuração acessíveis ao agente.  Esse é um arquivo opcional, cujo propósito e conteúdo é definido pelo desenvolvedor do agente. O uso esperado é que o agente leia suas próprias informações de configuração desse arquivo, na inicialização ou em qualquer outro momento.

Utilizado por:       Agent

Elemento: LaunchConfiguration
Identifica os parâmetros de configuração de ativação para esse Agente.

Utilizado por:       Agent
                   
Subelementos:     launchInfo
 

Elemento: launchInfo
Encapsula as informações utilizadas na ativação de um executável.

Utilizado por:       LaunchConfiguration

Subelementos:     Application

Elemento: Aplicativo
Esse elemento Application define as informações utilizadas no início de um aplicativo.  Seu valor de atributo executable pode especificar um aplicativo por seu nome alias (consulte elemento ApplicationAliases em serviceconfig.xml) ou pelo nome do caminho do executável real a ser ativado.  O valor é comparado primeiramente com a lista de aliases obtidos do serviceconfig.xml na inicialização pelo Agent Controller.  Se nenhuma correspondência for encontrada, as informações de ativação contidas no elemento Application serão utilizadas como estão.  Se for encontrada uma correspondência, as informações de ativação definidas para esse alias serão utilizadas em conjunto com as informações definidas aqui, conforme descrição a seguir.

Utilizado por:       LaunchConfiguration
                   
Subelementos:     Variable
                            Parameter                          

Atributos:

executable

Esse valor de cadeia especifica o nome do aplicativo a ser iniciado. Pode ser um nome alias ou o nome do caminho do executável real a ser ativado.  Se for um nome alias, o nome do executável será substituído pelo valor de caminho especificado nesse alias.

location

(opcional) Esse valor de cadeia especifica o diretório a partir do qual o executável deve ser ativado; é referido, às vezes, como o diretório de trabalho do executável enquanto ele está em execução. Se for omitido e o executável não correspondeu a um alias, o aplicativo será executado do diretório no qual o Agent Controller reside.  Se omitido e o executável corresponder a um alias, o local especificado para o alias será utilizado.

Elemento: Variable
Esse elemento Variable define uma variável de ambiente e como posicioná-la no ambiente existente.  Quando localizada em um elemento Application, ela modifica o ambiente utilizado quando o aplicativo é ativado.  Pode haver zero ou mais desses elementos definidos para um Aplicativo. Se o atributo executable do Aplicativo especificar um alias, serão aplicadas ao ambiente padrão as configurações de variável de ambiente do alias; em seguida, as variáveis de ambiente definidas aqui serão aplicadas no início delas.

Utilizado por:     Application

Atributos:

name

Esse valor de cadeia especifica o nome da variável de ambiente.

value

Esse valor de cadeia especifica o valor da variável de ambiente.

position

(opcional) Esse valor de cadeia é um de "append", "prepend" ou "replace", indicando onde colocar esse ambiente em relação ao ambiente atual. Se omitido, a variável será anexada ao ambiente.

Elemento: Parameter
O elemento Parameter define um argumento de linha de comando a ser fornecido ao aplicativo quando ativado. Pode haver zero ou mais desses elementos definidos para um Aplicativo. Se o atributo executable do Aplicativo especificar um alias, os argumentos de linha de comando do alias serão utilizados; em seguida, os argumentos de linha de comando definidos aqui serão aplicados no início deles.

Utilizado por:     Application

Atributos:

value

Esse valor de cadeia especifica um argumento de linha de comandos.

position

(opcional) Esse valor de cadeia é um de  "append", "prepend" ou "replace", indicando onde colocar esse argumento em relação aos argumentos de linha de comandos existentes. Se omitido, o argumento será anexado à linha de comandos.

Exemplo do Arquivo agent.xml

<Nome do Agente="org.eclipse.tptp.TimeCollector">
    <Interface>org.eclipse.tptp.agent</Interface>
    <Interface>org.eclipse.tptp.collector</Interface>
    <SingleInstance>0</SingleInstance>
    <Bound>0</Bound>
    <MaxControllers>-1</MaxControllers>
    <MaxObservers>-1</MaxObservers>
    <ConfigFile>c:\tptp\agents\org.eclipse.tptp.TimeCollector\config\agentconfig.xml</ConfigFile>
        <LaunchConfiguration>

            <launchInfo>
                <Executável do Aplicativo=".\TimeCollector.exe">

                    <Parameter value="-serviceconfig ..\config\serviceconfig.xml" />

                </Application>

            </launchInfo>
        </LaunchConfiguration>
</Agent>


Referência Relacionada

Visão Geral da Configuração do Agente e do Agent Controller


Direitos Autorais (C) 2005, 2006 Intel Corporation.