Spis treści
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 pluginconfig.xml jest umieszczony w katalogu <install-home>\plugins\<nazwa_wtyczki>\config. Jest to mechanizm rozszerzania środowiska globalnego oraz aliasów aplikacji zdefiniowanych w pliku serviceconfig.xml, zgodnie z potrzebami indywidualnie pakowanych aplikacji. Rozszerzenie ustawień środowiska zdefiniowanych w pliku serviceconfig.xml wpływa na wszystkie aplikacje (w tym na agenty) uruchomione przez komponent Agent Controller, ponieważ wszystkie one dziedziczą to środowisko. Dzięki temu "wtyczka" może zapewnić możliwość zlokalizowania swoich aplikacji przez inne procesy uruchomione przez komponent Agent Controller (np. dodając odpowiednią ścieżkę do zmiennej środowiskowej CLASSPATH). Rozszerzenie listy aliasów aplikacji to sposób na uruchomienie nowej aplikacji, gdy komponent Agent Controller jest skonfigurowany tak, aby ograniczyć usługi uruchamiania do aplikacji dostępnych na liście.
Tak więc plik pluginconfig.xml udostępnia mechanizm pakietowania dodatkowych komponentów, które są opcjonalne dla podstawowej instalacji komponentu Agent Controller. Ponieważ sam plik serviceconfig.xml nie jest modyfikowany, usunięcie dodatkowych komponentów jest równie łatwe.
Agenty mogą wymagać istnienia zarówno plików pluginconfig.xml, jak i agent.xml. Plik agent.xml jest potrzebny, aby zdefiniować aplikację agenta, jeśli nowy komponent Agent Controller ma wyszukiwać dostępne agenty (tzn. być w stanie je wykryć). Plik pluginconfig.xml jest niezbędny, jeśli agent potrzebuje rozszerzyć środowisko serviceconfig.xml lub listę aliasów. W przyszłych wersjach użycie pliku agent.xml zostanie zastąpione wykorzystaniem pliku pluginconfig.xml.
Uwaga
Użyty tu termin "wtyczka" jest nieścisłym odwołaniem do wtyczek środowiska Eclipse. Pojawił się on dlatego, że na początku używane były faktyczne wtyczki. Jednak obecnie tak nie jest, ponieważ plik konfiguracji może odwoływać się do dowolnej aplikacji, która nie musi być zapakowana jako wtyczka możliwa do zainstalowania w środowisku roboczym Eclipse.
Plik pluginconfig.xml zawiera następujące główne segmenty:
Poniżej przedstawiono hierarchię elementów pliku pluginconfig.xml. Kolejność elementów znajdujących się na tym samym poziomie hierarchii jest nieistotna. Odsyłacze hipertekstowe w obrębie hierarchii odsyłają do formalnych opisów poszczególnych elementów w sekcji Elementy i atrybuty.
PluginConfiguration
AgentControllerEnvironment
Variable
Option
Application
Variable
Parameter
Agent
Option
Element: PluginConfiguration
Podelementy: AgentControllerEnvironment
Option
Application
Agent
- requires
- (opcjonalne) Lista oddzielonych przecinkami nazw wtyczek, od których zależy dana konfiguracja. Od wersji TPTP 4.0 do nazw wtyczek dodawany jest przyrostek identyfikujący wersję. Składa się on ze znaku podkreślenia, po którym następuje odpowiedni numer wersji. Przykład: org.eclipse.tptp.platform.agentcontroller_4.0.0. Aby zapewnić zgodność wtyczek w przypadku aplikacji zależnych od wtyczek z wcześniejszych wersji (czyli pozbawionych przyrostka identyfikującego wersję), w obrębie atrybutu "requires" można podać nazwy wymaganych wtyczek bez identyfikatorów wersji. W takim przypadku program ładujący konfiguracji komponentu Agent Controller w pierwszej kolejności spróbuje znaleźć wtyczkę o pełnej nazwie, czyli z przyrostkiem identyfikującym wersję. W razie niepowodzenia, program ładujący konfiguracji będzie szukać wtyczki o nazwie pozbawionej przyrostka identyfikującego wersję. W przypadku znalezienia więcej niż jednej wtyczki o takiej samej nazwie zostanie wykorzystana pierwsza nazwa wtyczki zwrócona przez system operacyjny.
Używany przez: PluginConfiguration
Podelementy: Variable
Element Variable definiuje zmienną środowiskową i sposób jej połączenia z istniejącym środowiskiem w celu utworzenia nowego środowiska dla wszystkich uruchamianych aplikacji i agentów. W elemencie AgentControllerEnvironment może występować zero lub więcej takich elementów.
Używany przez: AgentControllerEnvironment
Atrybuty:
- name
- Wartość tego łańcucha określa nazwę zmiennej środowiskowej.
- value
- Wartość tego łańcucha określa wartość zmiennej środowiskowej.
- position
- (opcjonalnie) Ten łańcuch może mieć jedną z wartości "append", "prepend" lub"replace", które określają, gdzie powinno być umieszczone środowisko w odniesieniu do istniejącego środowiska domyślnego.
Element: Option
Element Option, jako element najwyższego poziomu w PluginConfiguration, jest wykorzystywany do określenia różnych danych konfiguracyjnych, które będą przekazywane wszystkim agentom rejestrującym się w komponencie Agent Controller. Informacje te są zawarte we właściwościach, które każdy agent zwraca klientowi. Agent może interpretować te informacje (lub też nie) w zależności od potrzeb.
Informacje opcjonalne są przekazywane tylko agentom, które korzystają z oryginalnego interfejsu API komponentu Agent Controller (warstw kompatybilności wstecznej). Aby udostępnić informacje konfiguracyjne agentowi korzystającemu z nowego interfejsu API, należy użyć pliku
agent.xml.
Element: ApplicationUżywany przez: Agent
Atrybuty:
- name
- Wartość tego łańcucha określa przestrzeń nazw opcji.
- type
- Wartość tego łańcucha określa nazwę opcji.
- value
- Ten łańcuch określa wartość opcji.
Używany przez: PluginConfiguration
Podelementy: Variable
- executable
- Wartość tego łańcucha określa nazwę aliasu dla pliku wykonywalnego aplikacji określonego w atrybucie path. Klienty muszą korzystać z tej nazwy do identyfikowania aplikacji. Jeśli określony jest też atrybut extends, podana tu nazwa powinna być zgodna z wcześniej zdefiniowanym aliasem.
- path
- Wartość tego łańcucha określa pełną ścieżkę aplikacji, która ma być uruchomiona. Podczas wykonywania aplikacji ścieżka ta jest używana zamiast aliasu.
Atrybut ten jest ignorowany, jeśli został określony atrybut extends.- location
- (opcjonalnie) Wartość tego łańcucha określa katalog, z którego ma być uruchamiany plik wykonywalny; czasami jest określana jako katalog roboczy dla pliku wykonywalnego podczas jego działania.
- extends
- (opcjonalnie) Wartość tego łańcucha określa nazwę konfiguracji dla wcześniej zdefiniowanego aliasu aplikacji. Nazwy konfiguracji nie są jednak obsługiwane, tak więc wartością tego atrybutu powinno być "default". Jeśli element extends istnieje (niezależnie od wartości), oznacza on że informacje zawarte w bieżącym elemencie Application powinny rozszerzać informacje zdefiniowane wcześniej w odpowiednim aliasie aplikacji. Element ten nie może zmieniać wartości elementu path (czyli uruchamianego pliku wykonywalnego). Jeśli nie zostanie znaleziony żaden alias pasujący do nazwy pliku wykonywalnego, ten element Application nie ma żadnego wpływu na działanie systemu.
Element: Variable
Element Variable definiuje zmienną środowiskową i sposób jej połączenia z istniejącym środowiskiem podczas uruchamiania aplikacji. W każdym elemencie Application może występować zero lub więcej takich elementów.
Używany przez: Application
Atrybuty:
- name
- Wartość tego łańcucha określa nazwę zmiennej środowiskowej.
- value
- Wartość tego łańcucha określa wartość zmiennej środowiskowej.
- position
- (opcjonalnie) Ten łańcuch może mieć jedną z wartości "append", "prepend" lub"replace", które określają, gdzie powinno być umieszczone środowisko w odniesieniu do środowiska domyślnego.
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.
Używany przez: Application
Atrybuty:
- value
- Wartość tego łańcucha określa argument wiersza komend.
- position
- (opcjonalnie) Ten łańcuch może mieć jedną z wartości "append", "prepend" lub"replace", które określają, gdzie powinien być umieszczony ten agrument w odniesieniu do istniejących argumentów wiersza komend.
Element: Agent
Udostępnia informacje konfiguracyjne dla konkretnego agenta. Używany tylko przez te agenty, które korzystają z oryginalnego interfejsu API komponentu Agent Controller (warstw zgodności wstecznej). Aby udostępnić informacje konfiguracyjne agentowi korzystającemu z nowego interfejsu API, należy użyć pliku agent.xml.
Używany przez: PluginConfiguration
Podelementy: Option
Atrybuty:
- name
- Wartość tego łańcucha określa nazwę agenta, do którego mają być zastosowane te informacje konfiguracyjne.
- type
- (opcjonalnie) Wartość tego łańcucha określa typ agenta.
- dataChannelSize
- (opcjonalnie) Wartość tego łańcucha określa ilość pamięci współużytkowanej, jaka ma być przydzielona na potrzeby komunikacji między procesami. Wartości muszą być dodatnimi liczbami całkowitymi z przyrostkiem M lub K, wskazującym odpowiednio megabajty i kilobajty. Brak przyrostka oznacza liczbę w bajtach. Przykładowe wartości: "16M", "8K" lub "16000".
- logFile
- (opcjonalnie) Ten łańcuch określa pełną ścieżkę pliku. Jeśli zostanie podany, to dane, które w normalnym trybie byłyby przesyłane kanałem danych do klienta, będą zamiast tego zapisywane we wskazanym pliku.
- client
- (opcjonalnie) Ten łańcuch określa, czy dany agent komunikuje się z klientem. Dopuszczalne wartości to: "DYNAMIC" lub "HEADLESS". Wartość HEADLESS oznacza, że nie ma powiązanego klienta. Wartością domyślną jest DYNAMIC.
- extends
- (opcjonalnie) Wartość tego łańcucha określa nazwę konfiguracji dla wcześniej zdefiniowanego agenta. Nazwy konfiguracji nie są jednak obsługiwane, tak więc wartością tego atrybutu powinno być "default". Jeśli element extends istnieje (niezależnie od wartości), oznacza on że informacje zawarte w tym agencie powinny rozszerzać informacje konfiguracyjne zdefiniowane wcześniej w odpowiednim elemencie Agent. Jest używany do rozszerzania listy elementu Option związanego z danym agentem.
Element: Option
Element podrzędny Option w elemencie Agent służy do określenia różnych danych konfiguracyjnych, które będą przekazywane agentowi rejestrującemu się w komponencie Agent Controller. Agent może interpretować te informacje (lub też nie) w zależności od potrzeb.
Używany przez: Agent
Atrybuty:
- name
- Dowolny łańcuch określający nazwę opcji (np. przestrzeń nazw).
- type
- Dowolny łańcuch określający nazwę typu opcji (np. nazwa opcji).
- value
- Dowolny łańcuch określający wartość opcji.
<PluginConfiguration requires="org.eclipse.tptp.platform.collection.framework">
<AgentControllerEnvironment>
<Variable name="CLASSPATH_MY_AGENTS"
position="append"
value="%PLUGINS_HOME%\org.eclipse.tptp.myagents\lib\coreagent.jar"
/>
</AgentControllerEnvironment>
<Application
executable="MyAgent"
location="%SYS_TEMP_DIR%"
path="%JAVA_PATH%">
<Variable name="CLASSPATH"
position="append"
value="%PLUGINS_HOME%\org.eclipse.tptp.myagents\jmx\lib\jmxagent.jar"
/>
<Variable name="CLASSPATH"
position="append"
value="%CLASSPATH_MY_AGENTS%"
/>
<Parameter position="append"
value="-Dapp_home=%MY_HOME%"
/>
<Parameter position="append"
value="-DagentXML=%PLUGINS_HOME%
\org.eclipse.tptp.myagents\jmx\agentXML\MyAgent.xml"
/>
</Application>
<Option name="org.eclipse.tptp.Myagents"
type="version" value="2.0"/>
</PluginConfiguration>
Informacje pokrewne
Przegląd konfigurowania agentów i komponentu Agent Controller
Copyright (C) 2006 Intel Corporation.