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.
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.
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
LaunchConfigurationAtributos:
- 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.
<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.