Примечание
При упоминании в этом документе расположений файлов и каталогов под <каталогом-установки> понимается каталог, в котором был распакован пакет контроллера агентов.
В файле конфигурации запуска агента (agent.xml) содержится статическая информация, которую контроллер агентов использует для запуска агента и управления им.В этот файл занесены следующие статические данные:
Файл agent.xml должен располагаться под каталогом, которому присвоено имя агента. Каталог с именем агента должен располагаться в каталоге, который задается элементом Agent в файле serviceconfig.xml.Например, файл конфигурации агента с именем org.eclipse.tptp.TimeCollector будет находиться в каталоге <каталог_установки>/agents/org.eclipse.tptp.TimeCollector/agent.xml. Контроллер агентов использует имя этого каталога для идентификации агентов, запрашиваемых по имени. Информация из файла конфигурации agent.xml - это метаданные агента.
Обратите внимание, что контроллер агентов считывает файл agent.xml для каждого агента только один раз при собственном запуске. Поэтому после редактирования содержимого этих файлов или добавления новых каталогов агентов требуется перезапустить контроллер агентов, иначе изменения не будут иметь силы.
Элемент: Agent
Это корневой элемент файла конфигурации агента. Он определяет метаданные агента. Метаданные могут предоставляться по запросу любого объекта
и использоваться в любых целях. Ниже перечислены подэлементы, которые использует контроллер агентов для запуска агента и управления
им. Для
получения дополнительной информации в форме метаданных разработчики агента могут задать дополнительные подэлементы. Клиент
использует метаданные для принятия динамического решения о выборе агента для выполнения конкретной задачи.
Подэлементы: Interface
SingleInstance
Bound
MaxControllers
MaxObservers
ConfigFile
LaunchConfigurationАтрибуты:
- Name
- Это значение является уникальным именем агента. Предполагается, что агент получает это имя в момент регистрации в контроллере агентов. Если имя агента не совпадает с этим значением, то на запросы по имени агента будут получены разные результаты в зависимости от того, был ли запущен агент на момент запроса.
Элемент:Interface
Значение этого элемента служит именем интерфейса, который поддерживается агентом. В рамках элемента Agent можно указать один или
несколько элементов Interface или не указывать ни одного. Интерфейс - это уникальное имя набора команд, которые поддерживаются
агентом.
- Используется следующими элементами: Agent
Элемент:SingleInstance
Целочисленное значение этого элемента может составлять 0 или 1. Значение 0 (false)
означает, что несколько экземпляров агента могут работать одновременно. Значение
1 (true) означает, что можно запустить только один экземпляр агента. Если указано значение 1, контроллер агентов отклоняет все
запросы о запуске дополнительных экземпляров агента, если один экземпляр уже запущен.
Используется следующими элементами: Agent
Элемент: Bound
Целочисленное значение этого элемента может составлять 0 или 1. Значение 0 (false) означает, что агент не привязан к конкретному
приложению. Значение 1 (true) означает, что агент привязан к конкретному приложению. Агент, привязанный к конкретному приложению,
можно запустить только через это приложение, поэтому контроллеру агентов не удастся запустить агент, если значение элемента Bound
составляет 1.
Используется следующими элементами: Agent
Элемент: MaxControllers
Значение этого элемента может составлять положительное целое число, 0 или -1. Значение -1
означает "без ограничения". Если количество запросов на предоставление прав управления агентом превысит число, указанное в
значении элемента, контроллер агентов будет отклонять дальнейшие запросы. Права контроллера определяются разработчиком агента. Этот
элемент применяется для ограничения количества объектов, которые могут одновременно запросить взаимоисключающие действия, например начать и
прекратить сбор данных.
Используется следующими элементами: Agent
Элемент: MaxObservers
Значение этого элемента может составлять положительное целое число, 0 или -1. Значение -1 означает "без ограничения". Если
количество запросов на предоставление прав наблюдения за работой агента превысит число, указанное в значении элемента, контроллер агентов
будет отклонять дальнейшие запросы. Права наблюдателя определяются разработчиком агента. Этот элемент применяется для ограничения
количества объектов, которые могут запросить действия по сбору статических данных или данных, которые агент собирает
в данный момент (возможно, по запросу контроллера).
Используется следующими элементами: Agent
Элемент: ConfigFile
Значение данного элемента задает полный путь и имя дополнительного файла конфигурации, в котором содержится доступная агенту информация о
динамической конфигурации. Этот файл создавать необязательно. Его назначение и содержимое определяется разработчиком агента. Этот
файл применяется для считывания агентом информации о собственной конфигурации в момент запуска или в любое другое время.
Используется следующими элементами: Agent
Элемент: LaunchConfiguration
Задает параметры конфигурации запуска агента.
Используется следующими элементами: Agent
Подэлементы: launchInfo
Элемент:
launchInfo
Содержит информацию для запуска исполняемого файла.
Используется следующими элементами: LaunchConfiguration
Подэлементы: Application
Элемент: Application
Элемент Application определяет информацию для запуска приложения. Значение атрибута
executable
может служить псевдонимом приложения (см. элемент ApplicationAliases в файле serviceconfig.xml) или именем каталога для запуска
исполняемого файла. При запуске контроллер агентов сначала сравнивает это значение с псевдонимами из списка в файле serviceconfig.xml. Если
совпадение не найдено, информация из элемента Application о запуске используется как есть. Если совпадение найдено, используется
информация о запуске для данного псевдонима вместе с указанной здесь информацией, как описано ниже.
Используется следующими элементами: LaunchConfiguration
Подэлементы: Variable
Parameter
Атрибуты:
- executable
Это значение задает имя запускаемого приложения. Это может быть псевдоним или путь к запускаемому исполняемому файлу. Если это псевдоним, то имя исполняемого файла заменяется на путь, указанный в псевдониме.
- location
(необязательно) Это значение определяет каталог, из которого запускается исполняемый файл. Иногда этот каталог называется рабочим каталогом исполняемого файла. Если этот элемент не указан и не найдено совпадение имени исполняемого файла с псевдонимом, приложение выполняется из каталога, где размещен контроллер агентов. Если этот элемент не указан и совпадение найдено, то применяется расположение псевдонима.
Элемент: Variable
Элемент Variable задает переменную среды и ее расположение в среде.
В случае расположения в рамках элемента Application, элемент Variable изменяет используемую среду при запуске приложения. В рамках
элемента Application можно указать один или несколько элементов Varialbe или не указывать ни одного. Если атрибутом
executable элемента Application задается псевдоним, то параметры переменной среды
псевдонима применяются в среде по умолчанию, и переменные среды, указанные здесь, имеют приоритет.
Используется следующими элементами: Application
Атрибуты:
- name
Задает имя переменной среды.
- value
Задает значение переменной среды.
- position
(необязательно) Это значение может быть равно "append", "prepend" или "replace". Оно указывает расположение переменной по отношению к текущей среде. Если это значение не указано, то переменная добавляется к этой среде.
Элемент: Parameter
Элемент Parameter задает аргумент командной строки, который используется при запуске приложения. В рамках элемента Application можно
указать один или несколько элементов Parameter или не указывать ни одного. Если атрибутом
executable элемента Application задается псевдоним, то применяются аргументы командной строки псевдонима и указанные здесь аргументы
командной строки имеют приоритет.
Используется следующими элементами: Application
Атрибуты:
- value
Это значение задает аргумент командной строки.
- position
(необязательно) Это значение может быть "append", "prepend" или "replace". Оно указывает расположение аргумента по отношению к существующим аргументам командной строки. Если это значение не указано, то аргумент добавляется к командной строке.
<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>
Связанные справочники
Обзор конфигурации агентов и контроллера агентов
Copyright (C) 2005, 2006 Intel Corporation.