El archivo agent.xml

Nota

Cuando en este documento se hace referencia a las ubicaciones de archivo y directorio, <inicio-instalación> es el directorio en el que se desempaquetó Agent Controller.

Introducción

El archivo de configuración de lanzamiento de agente (agent.xml) contiene cierta información que Agent Controller debe conocer para poder iniciar y gestionar un agente. Esta información estática incluye lo siguiente:

El archivo de agent.xml debe estar ubicado bajo un directorio con el nombre del mismo agente. El directorio con el nombre del agente debe estar en el directorio especificado por el elemento Agent en el archivo serviceconfig.xml. Por ejemplo, un agente llamado org.eclipse.tptp.TimeCollector debe tener este archivo de configuración ubicado en <install-home>/agents/org.eclipse.tptp.TimeCollector/agent.xml. Agent Controller utiliza el nombre del directorio para identificar agentes que se solicitan por nombre.  La información del archivo de configuración agent.xml constituye los metadatos del agente.

Tenga en cuenta que Agent Controller lee los archivos de agent.xml de todos los agentes una sola, al arrancar. Por lo tanto, para modificar el contenido de estos archivo o añadir directorios de agentes nuevos es necesario reiniciar Agent Controller.

Elementos y atributos

Elemento: Agent
Este es el elemento raíz del archivo de configuración del agente. Define los metadatos para un agente. Un objeto puede solicitar los metadatos para un agente y después utilizar esa información como desee. Los subelementos listados a continuación los utiliza Agent Controller para lanzar y gestionar el agente. Los desarrolladores del agente pueden definir subelementos adicionales que necesiten devolver información adicional como metadatos. Los metadatos son útiles para un cliente que intente tomar decisiones de tiempo de ejecución acerca de qué agente utilizar para una tarea determinada.

Subelementos:     Interface
                            SingleInstance
                            Bound
                            MaxControllers
                            MaxObservers
                            ConfigFile
                            LaunchConfiguration

Atributos:

Name
Este valor de serie es el nombre exclusivo del agente. Este valor debe ser el mismo que el nombre utilizado por el agente cuando se registra en Agent Controller. Si estos valores difieren, las peticiones de un agente por nombre tendrán resultados variables, dependiendo de si el agente ya está ejecutándose o no.

Elemento: Interface
El valor de serie para este elemento es el nombre de una interfaz soportada por este agente. Puede haber cero o más elementos de Interface en un elemento Agent. Una interfaz es un nombre exclusivo para un conjunto de mandatos soportado por un agente.

Utilizado por:       Agent

Elemento: SingleInstance
El valor entero para este elemento es 0 ó 1. Un 0 (falso) indica que este agente puede tener varias instancias ejecutándose simultáneamente. Un 1 (verdadero) indica que solo se permite una única instancia de este agente. Si se establece en 1, Agent Controller denegará las peticiones de instancias nuevas de este agente si ya se está ejecutando una.

Utilizado por:       Agent

Elemento: Bound
El valor entero para este elemento es 0 ó 1. Un 0 (falso) indica que este agente no está enlazado a una aplicación. Un 1 (verdadero) indica que el agente está enlazado a una aplicación. Un agente que está enlazado a una aplicación solo puede lanzarlo esa aplicación, por lo tanto Agent Controller rechazará lanzar un agente si el valor de Bound es 1.

Utilizado por:       Agent

Elemento: MaxControllers
El valor entero para este elemento es -1, 0 o un valor positivo. -1 indica "ilimitado". Agent Controller rechazará las peticiones de los derechos del controlador de este agente si el número de peticiones sobrepasa este valor. Los derechos de un controlador están definidos por el desarrollador de agentes. La utilización esperada consiste en limitar el número de objetos que pueden solicitar acciones en conflicto, como por ejemplo iniciar y detener la recopilación de datos.

Utilizado por:       Agent

Elemento: MaxObservers
El valor entero para este elemento es -1, 0 o un valor positivo. -1 indica "ilimitado". Agent Controller rechazará las peticiones de los derechos del observador de este agente si el número de peticiones sobrepasa este valor. Los derechos de un observador están definidos por el desarrollador de agentes. La utilización esperada consiste en limitar el número de objetos que pueden pedir acciones de tipo de consulta como por ejemplo proporcionar datos estáticos o que se están recopilando (quizás debido a una petición de un controlador.)

Utilizado por:       Agent

Elemento: ConfigFile
El valor de serie para este elemento especifica la vía de acceso completa y el nombre de archivo de un archivo de configuración adicional que contenga información de configuración dinámica accesible para el agente. Se trata de un archivo opcional, el objetivo y el contenido del cuál está definido por el desarrollador de agentes. La utilización esperada es que el agente lea su propia información de configuración de este archivo ya sea al arrancar o en cualquier otro momento.

Utilizado por:       Agent

Elemento: LaunchConfiguration
Identifica los parámetros de configuración de lanzamiento para este agente.

Utilizado por:       Agent
                   
Subelementos:     launchInfo
 

Elemento: launchInfo
Encapsula información utilizada al lanzar un ejecutable.

Utilizado por:       LaunchConfiguration

Subelementos:     Application

Elemento: Application
Este elemento Application define la información utilizada al iniciar una aplicación. El valor del atributo executable puede especificar una aplicación por nombre de alias (consulte el elemento ApplicationAliases en serviceconfig.xml) o el nombre de vía de acceso del ejecutable real a lanzar. El valor se compara primero con la lista de alias obtenida por Agent Controller a partir de serviceconfig.xml durante el arranque. Si no se encuentra ninguna coincidencia, la información de lanzamiento contenida en el elemento Application se utiliza tal cual.  Si se encuentra una coincidencia, la información de lanzamiento definida para ese alias se utiliza conjuntamente con la información definida aquí, tal como se describe a continuación.

Utilizado por:       LaunchConfiguration
                   
Subelementos:     Variable
                            Parameter                          

Atributos:

executable

Este valor de serie especifica el nombre de la aplicación a iniciar. Puede ser un nombre de alias o el nombre de vía de acceso del ejecutable real a lanzar. Si es un nombre de alias, el nombre del ejecutable se sustituye por el valor de vía de acceso especificado en ese alias.

location

(opcional) Este valor de serie especifica el directorio desde el que se lanzará el ejecutable, denominado algunas veces como directorio de trabajo del ejecutable mientras se está ejecutando. Si se omite y si el ejecutable no coincidía con un alias, la aplicación se ejecuta desde el directorio en el que reside Agent Controller. Si se omite y si el ejecutable coincide con un alias, se utiliza la ubicación especificada para el alias.

Elemento: Variable
Este elemento Variable define una variable de entorno y cómo debe situarse dentro del entorno existente. Cuando está ubicada en un elemento Application, modifica el entorno utilizado cuando se lanza la aplicación. Puede haber cero o más de estos elementos definidos para una aplicación. Si el atributo executable de una Application especifica un alias, los valores de la variable de entorno del alias se aplican al entorno predeterminado y después las variables de entorno definidas aquí se aplican sobre ellos.

Utilizado por:     Application

Atributos:

name

Este valor de serie especifica el nombre de la variable de entorno.

value

Este valor de serie especifica el valor de la variable de entorno.

position

(opcional) Este valor de serie puede ser "append", "prepend" o "replace" lo que indica la situación de este entorno relativa al entorno actual. Si se omite, la variable se añade al entorno.

Elemento: Parameter
El elemento Parameter define un argumento de línea de mandatos para pasarlo a la aplicación en el lanzamiento. Puede haber cero o más de estos elementos definidos para una Application. Si el atributo executable de la Application especifica un alias, los argumentos de la línea de mandatos del alias se utilizan y después los argumentos de la línea de mandatos definidos aquí se aplican sobre ellos.

Utilizado por:     Application

Atributos:

value

Este valor de serie especifica un argumento de línea de mandatos.

position

(opcional) Este valor de serie puede ser  "append", "prepend" o "replace", lo que indica dónde situar este argumento en relación a los argumentos de la línea de mandatos existentes. Si se omite, el argumento se añade a la línea de mandatos.

Archivo agent.xml de ejemplo

<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>


Consulta relacionada

Visión general de configuración de agentes y de Agent Controller


Copyright (C) 2005, 2006 Intel Corporation.