Uwaga
W występujących w tym dokumencie odwołaniach do położeń plików i katalogów, <install-home> jest katalogiem, do którego został wyodrębniony pakiet komponentu Agent Controller.
Plik konfiguracyjny uruchamiania agenta (agent.xml) zawiera statyczne informacje wymagane przez komponent Agent Controller do uruchamiania agenta i zarządzania nim. Informacje zawarte w pliku to między innymi:
Plik agent.xml musi się znajdować w obrębie katalogu o nazwie odpowiadającej samemu agentowi. Katalog o nazwie agenta musi się znajdować w katalogu wskazanym przez element Agent w pliku serviceconfig.xml. Na przykład w przypadku agenta o nazwie org.eclipse.tptp.TimeCollector, plik konfiguracyjny znajdowałby się w katalogu <install-home>/agents/org.eclipse.tptp.TimeCollector/agent.xml. Komponent Agent Controller wykorzystuje nazwę katalogu do identyfikacji agentów żądanych z nazwy. Informacje zawarte w pliku konfiguracyjnym agent.xml stanowią metadane agenta.
Komponent Agent Controller wczytuje pliki agent.xml wszystkich agentów tylko raz, w chwili uruchomienia. Stąd też w przypadku modyfikacji zawartości tych plików lub dodania nowych katalogów agentów wymagane jest zrestartowanie komponentu Agent Controller w celu zastosowania zmian.
Element: Agent
Jest to element główny pliku konfiguracyjnego agenta. Zawiera on definicje metadanych agenta. Obiekty mogą zgłaszać żądania metadanych agenta, a następnie korzystać z nich stosownie do potrzeb. Niżej wymienione podelementy są wykorzystywane przez komponent Agent Controller do uruchamiania agenta i zarządzania nim. Programiści agentów mogą definiować nowe podelementy, jeśli zaistnieje potrzeba zwracania dodatkowych informacji jako metadanych. Metadane pomagają klientom podejmować w czasie wykonywania decyzje dotyczące wyboru agenta do konkretnego zadania.
Podelementy: Interface
SingleInstance
Bound
MaxControllers
MaxObservers
ConfigFile
LaunchConfigurationAtrybuty:
- Name
- Łańcuch określający unikalną nazwę agenta. Zaleca się, aby była to ta sama nazwa, co nazwa podawana przez agenta na etapie rejestracji w komponencie Agent Controller. Jeśli nazwy te są różne, to żądania uruchomienia agenta przekazywane przez nazwę będą dawać różne wyniki w zależności od tego, czy agent jest już uruchomiony, czy nie.
Element:Interface
Łańcuch stanowiący wartość tego elementu określa nazwę interfejsu obsługiwanego przez agenta. Element Agent może zawierać zero lub więcej elementów Interface. Interfejs stanowi unikalną nazwę zestawu komend obsługiwanych przez danego agenta.
- Używany przez: Agent
Element:SingleInstance
Wartością tego elementu jest liczba całkowita 0 lub 1. Wartość 0 (fałsz) oznacza, że możliwe jest współbieżne wykonywanie wielu instancji danego agenta. Wartość 1 (prawda) oznacza, że w dowolnej chwili może być wykonywana tylko jedna instancja danego agenta. Jeśli ustawiona jest wartość 1 i jedna instancja agenta już jest uruchomiona, komponent Agent Controller będzie odrzucał żądania tworzenia nowych instancji.
Używany przez: Agent
Element: Bound
Wartością tego elementu jest liczba całkowita 0 lub 1. Wartość 0 (fałsz) oznacza, że dany agent nie jest przypisany do aplikacji. Wartość 1 (prawda) oznacza, że agent jest przypisany do aplikacji. Agent przypisany do aplikacji może być uruchamiany wyłącznie przez tę konkretną aplikację, co oznacza, że komponent Agent Controller odmówi uruchomienia agenta, którego element Bound ma wartość 1.
Używany przez: Agent
Element: MaxControllers
Możliwe wartości elementu to liczby całkowite -1, 0 lub liczba dodatnia. Wartość -1 oznacza "brak ograniczeń". Jeśli wartość jest dodatnia, to komponent Agent Controller będzie odrzucać żądania nadania praw kontrolera danego agenta, gdy liczba żądań przekroczy tę wartość. Uprawnienia kontrolera są definiowane przez programistę agenta. Zakładanym przeznaczeniem tego elementu jest ograniczanie liczby obiektów, które mogą żądać działań potencjalnie prowadzących do konfliktu, na przykład rozpoczynania i zatrzymywania gromadzenia danych.
Używany przez: Agent
Element: MaxObservers
Możliwe wartości elementu to liczby całkowite -1, 0 lub liczba dodatnia. Wartość -1 oznacza "brak ograniczeń". Jeśli wartość jest dodatnia, komponent Agent Controller będzie odrzucać żądania nadania praw obserwatora danego agenta, gdy liczba żądań przekroczy tę wartość. Uprawnienia obserwatora są definiowane przez programistę agenta. Zakładanym przeznaczeniem tego elementu jest ograniczanie liczby elementów, które mogą żądać działań związanych z pobieraniem informacji, jak chociażby dostarczanie danych statycznych lub aktualnie gromadzonych (na przykład na żądanie kontrolera).
Używany przez: Agent
Element: ConfigFile
Łańcuch stanowiący wartość tego elementu określa pełną ścieżkę i nazwę dodatkowego pliku konfiguracyjnego, zawierającego dostępne dla agenta dynamiczne dane konfiguracyjne. Jest to plik opcjonalny, a jego przeznaczenie i zawartość definiuje programista agenta. Zakładanym przeznaczeniem pliku jest umożliwienie agentowi pobierania własnych informacji konfiguracyjnych, czy to podczas uruchamiania, czy na innych etapach działania.
Używany przez: Agent
Element:
LaunchConfiguration
Określa parametry konfiguracyjne uruchamiania danego agenta.
Używany przez: Agent
Podelementy: launchInfo
Element:
launchInfo
Hermetyzuje informacje używane podczas uruchamiania pliku wykonywalnego.
Używany przez: LaunchConfiguration
Podelementy: Application
Element: Application
Element Application określa informacje używane podczas uruchamiania aplikacji. Wartością atrybutu executable może być alias określający aplikację (patrz element ApplicationAliases w pliku serviceconfig.xml) lub ścieżka do pliku wykonywalnego aplikacji. Wartość atrybutu jest w pierwszej kolejności dopasowywana do listy aliasów pobranej przez komponent Agent Controller z pliku serviceconfig.xml w chwili uruchomienia. Jeśli żadna z pozycji nie zostanie dopasowana, używane są informacje dotyczące uruchamiania już zawarte w elemencie Application. W przypadku znalezienia pasującej pozycji łączone są informacje dotyczące uruchomienia pobrane z dopasowanego aliasu i zdefiniowane w elemencie aplikacji, zgodnie z poniższym opisem.
Używany przez: LaunchConfiguration
Podelementy: Variable
Parametr
Atrybuty:
- executable
Łańcuch określający nazwę aplikacji, która ma być uruchomiona. Może to być alias lub ścieżka do pliku wykonywalnego. Jeśli wartość jest aliasem, to jako nazwa pliku wykonywalnego zostanie użyta ścieżka określona przez dany alias.
- location
(opcjonalny) Łańcuch określający katalog, z którego ma być uruchomiony plik wykonywalny, zwany też katalogiem roboczym wykonywanego programu. Jeśli atrybut zostanie pominięty, a wartość atrybutu executable nie odpowiada żadnemu aliasowi, to aplikacja zostanie wykonana z katalogu macierzystego komponentu Agent Controller. Jeśli atrybut zostanie pominięty, a wartość atrybutu executable odpowiada istniejącemu aliasowi, to zostanie wykorzystane położenie określone dla aliasu.
Element: Variable
Element Variable określa zmienną środowiskową i jej miejsce w istniejącym środowisku. Jeśli zostanie on umieszczony w obrębie elementu Application, to modyfikuje środowisko używane do uruchomienia danej aplikacji. W każdym elemencie Application może występować zero lub więcej elementów Variable.Jeśli wartością atrybutu executable bieżącej aplikacji jest alias, to ustawienia zmiennych środowiskowych aliasu są stosowane do środowiska domyślnego, po czym są na nie nakładane wartości zmiennych środowiskowych zdefiniowane w elemencie Variable.
Używany przez: Application
Atrybuty:
- name
Łańcuch określający nazwę zmiennej środowiskowej.
- value
Łańcuch określający wartość zmiennej środowiskowej.
- position
(opcjonalny) Łańcuch "append" (dopisz na końcu), "prepend" (dopisz na początku) lub "replace" (zastąp), określający pozycję zmiennej względem istniejącego środowiska. W przypadku pominięcia atrybutu, działaniem domyślnym jest dopisanie zmiennej na końcu.
Element: Parameter
Element Parameter określa argument wiersza komend przekazywany aplikacji w momencie jej uruchomienia. W każdym elemencie Application może występować zero lub więcej takich elementów. Jeśli wartością atrybutu executable bieżącej aplikacji jest alias, to używane są argumenty wiersza komend aliasu, po czym są na nie nakładane argumenty wiersza komend zdefiniowane w elemencie Parameter.
Używany przez: Application
Atrybuty:
- value
Łańcuch określający argument wiersza komend.
- position
(opcjonalny) Łańcuch "append" (dopisz na końcu), "prepend" (dopisz na początku) lub "replace" (zastąp), określający pozycję argumentu względem istniejących argumentów wiersza komend. Jeśli atrybut zostanie pominięty, argument jest dopisywany na końcu wiersza komend.
<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>
Informacje pokrewne
Przegląd konfigurowania agentów i komponentu Agent Controller
Copyright (C) 2005, 2006 Intel Corporation.