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.
O ficheiro de configuração de início de agente (agent.xml) contém informações estáticas das quais o Controlador de Agentes tem de ter conhecimento para iniciar e gerir um agente. Estas informações estáticas incluem o seguinte:
O ficheiro agent.xml tem de estar localizado sob um directório que tem o nome do próprio agente. O directório que tem o nome do agente tem de estar localizado dentro do directório especificado pelo elemento Agente, dentro do ficheiro serviceconfig.xml.Por exemplo, um agente com o nome org.eclipse.tptp.TimeCollector teria este ficheiro de configuração localizado em <install-home>/agents/org.eclipse.tptp.TimeCollector/agent.xml. O Controlador de Agentes utiliza o nome do directório para identificar agentes que são solicitados pelo nome. As informações no ficheiro de configuração agent.xml são os metadados para esse agente.
Repare que o Controlador de Agentes lê os ficheiros agent.xml para todos os agentes apenas uma vez, ao iniciar. Assim, modificar os conteúdos destes ficheiros ou adicionar novos directórios de agentes, requer que o Controlador de Agentes seja reiniciado antes que as alterações entrem em vigor.
Elemento: Agent
Este é o elemento raiz do ficheiro de configuração de agente. Define os metadados
para um agente. Um objecto pode pedir os metadados para um agente e posteriormente
utilizar essas informações como pretender. Os subelementos enumerados abaixo são utilizados pelo
Controlador de Agentes para lançar e gerir o agente. Podem ser definidos
subelementos adicionais por programadores de agentes que necessitem de obter informações
adicionais como metadados. Os metadados são úteis para um cliente que procure tomar decisões em tempo de execução,
relativamente ao agente a utilizar para uma determinada tarefa.
Subelementos: Interface
SingleInstance
Bound
MaxControllers
MaxObservers
ConfigFile
LaunchConfigurationAtributos:
- Nome
- Este valor de cadeia é o nome exclusivo para o agente. Espera-se que este valor seja o mesmo que o nome utilizado pelo agente quando se regista com o Controlador de Agentes. Se estes valores forem diferentes, os pedidos de um nome de agente terão resultados variáveis dependendo de o agente já estar, ou não, em execução.
Elemento:Interface
O valor de cadeia para este elemento é o nome de uma interface suportada por este
agente. Podem haver zero ou mais elementos de Interface num elemento Agent.
Uma interface é um nome exclusivo para um conjunto de comandos suportados por um agente.
- Utilizado por: Agente
Elemento:SingleInstance
O valor inteiro para este elemento é 0 ou 1. O 0 (falso)
indica que este agente pode ter múltiplas instâncias em execução simultânea. O
1 (verdadeiro) indica que é permitida apenas uma única instância deste agente. Se definido
para 1, o Controlador de Agentes recusará pedidos para novas instâncias deste agente se já
estiver a ser executada uma instância.
Utilizado por: Agente
Elemento: Bound
O valor inteiro para este elemento é 0 ou 1. O 0 (falso)
indica que este agente não está associado a uma aplicação. O 1 (verdadeiro) indica
que o agente está associado a uma aplicação. Um agente que está associado a uma aplicação
poderá apenas ser lançado por essa aplicação, assim, o
Controlador de Agentes recusará lançar um agente se o respectivo valor Bound for 1.
Utilizado por: Agente
Elemento: MaxControllers
O valor inteiro para este elemento é -1, 0 ou um valor positivo. O -1
indica "sem limite". O Controlador de Agentes rejeitará pedidos para direitos de
controlador para este agente, se o número de pedidos exceder este valor. Os
direitos de um controlador são definidos pelo programador de agente. A utilização esperada é
limitar o número de objectos que possam pedir acções em conflito, tais como
iniciar e parar a recolha de dados.
Utilizado por: Agente
Elemento: MaxObservers
O valor inteiro para este elemento é -1, 0 ou um valor positivo. O -1
indica "sem limite". O Controlador de Agentes rejeitará pedidos para direitos de
observador para este agente, se o número de pedidos exceder este valor. Os
direitos de um observador são definidos pelo programador de agente. A utilização esperada é
limitar o número de objectos que podem solicitar acções tipo pedido, tais como
fornecer dados que sejam estáticos ou estejam a ser recolhidos (devido a um pedido
de um controlador).
Utilizado por: Agente
Elemento: ConfigFile
O valor de cadeia para este elemento especifica o caminho e nome de ficheiro completos de
um ficheiro de configuração adicional, que contém informações de configuração dinâmicas
acessíveis ao agente. É um ficheiro opcional, cujo objectivo e conteúdo
são definidos pelo programador de agente. A utilização esperada é a leitura, por parte do
agente, das suas próprias informações de configuração a partir deste ficheiro, quer no arranque,
quer em qualquer outro momento.
Utilizado por: Agente
Elemento:
LaunchConfiguration
Identifica parâmetros de configuração de início para este Agente.
Utilizado por: Agente
Subelementos: launchInfo
Elemento:
launchInfo
Engloba informações utilizadas para lançar um executável.
Utilizado por: LaunchConfiguration
Subelementos: Application
Elemento: Application
Este elemento Application define as informações utilizadas para iniciar uma
aplicação. O valor de atributo executable
pode especificar uma aplicação pelo respectivo nome alternativo (consulte o elemento
ApplicationAliases em serviceconfig.xml) ou pelo nome do caminho do
executável a lançar. Em primeiro lugar, o valor é comparado com a lista de nomes alternativos
obtida no arranque pelo Controlador de Agentes em serviceconfig.xml. Se
não for encontrada correspondência, as informações de lançamento contidas no elemento Application
são utilizadas tal como estão. Se for encontrada uma correspondência, as informações de lançamento definidas para esse
nome alternativo são utilizadas em conjunto com as informações definidas aqui, como descrito
abaixo.
Utilizado por:
LaunchConfiguration
Subelementos: Variable
Parameter
Atributos:
- executable
Este valor de cadeia especifica o nome da aplicação a ser iniciada. Pode ser um nome alternativo ou o nome do caminho do executável a lançar. Se for um nome alternativo, o nome do executável é substituído pelo valor do caminho especificado nesse nome alternativo.
- location
(opcional) Este valor de cadeia especifica o directório a partir do qual o executável vai ser iniciado, por vezes denominado como o directório de trabalho para o executável, enquanto este está em execução. Se for omitido e o executável não tiver correspondido a um nome alternativo, a aplicação é executada a partir do directório em que o Controlador de Agentes reside. Se for omitido e o executável corresponder a um nome alternativo, é utilizada a localização especificada para o nome alternativo.
Elemento: Variable
Este elemento Variable define uma variável do ambiente e a forma como deverá
posicionar-se no ambiente existente. Quando localizado num elemento
Application, modifica o ambiente utilizado quando a aplicação é lançada.
Podem ser definidos zero ou mais destes elementos para uma
Application.Se o atributo
executable da Application especificar um nome alternativo, as definições da variável do ambiente do nome alternativo
são aplicadas ao ambiente predefinido e posteriormente as variáveis do
ambiente aqui definidas são aplicadas sobre ele.
Utilizado por: Application
Atributos:
- name
Este valor de cadeia especifica o nome da variável do 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 actual. Se for omitido, a variável será apensa ao ambiente.
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. Se o atributo
executable da Application especificar um nome alternativo, são utilizados os argumentos da linha de comandos
e posteriormente os argumentos da linha de comandos aqui definidos são aplicados
sobre eles.
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. Se for omitido, este argumento será apenso à linha de comandos.-
<Agent Name="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>
<Application executable=".\TimeCollector.exe">
<Parameter value="-serviceconfig ..\config\serviceconfig.xml" />
</Application>
</launchInfo>
</LaunchConfiguration>
</Agent>
Referência relacionada
Descrição Geral da Configuração do Agente e Controlador de Agentes
Copyright (C) 2005, 2006 Intel Corporation.