Plik pluginconfig.xml

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 .

Wprowadzenie

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:

 

Konfiguracja wtyczek

 

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

       

Elementy i atrybuty

 

Element: PluginConfiguration
Jest to element główny konfiguracji wtyczki. Dozwolone jest tylko jedno wystąpienie elementu  AgentControllerEnvironment. Wszystkie inne elementy (Option, Application i Agent) mogą występować wielokrotnie. Dowolne elementy podrzędne można pominąć.

Podelementy:     AgentControllerEnvironment

                            Option
                            Application
                            Agent
                           
Atrybuty:

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.

Element: AgentControllerEnvironment
Element AgentControllerEnvironment obejmuje jeden lub więcej elementów Variable, które rozszerzają globalne zmienne środowiskowe zdefiniowane w pliku serviceconfig.xml.  Staną się one częścią środowiska używanego do uruchamiania wszystkich aplikacji.


Używany przez: PluginConfiguration

Podelementy:     Variable

 

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

Uż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.
Element: Application
Element Application określa lub rozszerza alias i informacje uruchomieniowe aplikacji. Może zawierać ustawienia środowiskowe widoczne tylko dla konkretnej aplikacji, po jej uruchomieniu.  Ten alias aplikacji jest dodawany do listy zdefiniowanej w elemencieApplicationAliases w pliku serviceconfig.xml.


Używany przez: PluginConfiguration

Podelementy:     Variable

                            Parameter

Atrybuty:

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

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.

Przykładowy plik pluginconfig.xml

 

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