Pliki konfiguracyjne komponentu Agent Controller
Konfiguracja komponentu Agent Controller jest określona przez dwa zestawy plików konfiguracyjnych.
Pierwszy zestaw zawiera konfigurację podstawową, która opisuje domyślne ustawienia mechanizmu.
Drugi zestaw to konfiguracja wtyczek, opisująca ustawienia mechanizmu związane z konkretnymi aplikacjami.
W tym dokumencie zawarto szczegółowy opis każdej z konfiguracji oraz metody tworzenia rozszerzeń konfiguracji.
Zmienna <install-home> używana w tym dokumencie oznacza katalog, w którym komponent Agent Controller został rozpakowany. W plikach konfiguracyjnych katalog ten występuje także jako zmienna %RASERVER_HOME%.
Konfiguracja podstawowa
Konfiguracja podstawowa składa się z pliku <install-home>/config/serviceconfig.xml, zbudowanego zgodnie ze schematem XML <install-home>/config/serviceconfig.xsd.
Zawiera on ustawienia domyślne, między innymi systemowe zmienne środowiskowe, konfiguracje aplikacji i parametry połączeń komponentu Agent Controller. Konfiguracja podstawowa jest dostępna dla wszystkich innych konfiguracji i jest ładowana przy uruchamianiu usługi mechanizmu. Twórcy aplikacji nie powinni modyfikować pliku konfiguracji podstawowej, gdyż wszelkie zmiany wprowadzane w konfiguracji podstawowej mają zasięg globalny.
Do określania ustawień odnoszących się do konkretnych wtyczek i aplikacji służą opisane poniżej konfiguracje wtyczek.
Konfiguracja wtyczek
Plik konfiguracyjny i zależności każdej aplikacji zdefiniowanej przez użytkownika powinny się znajdować w obrębie katalogu odpowiedniej wtyczki, czyli <install-home>/plugin/<nazwa wtyczki>, gdzie <nazwa wtyczki> jest unikalną nazwą identyfikującą aplikację. Plik konfiguracyjny wtyczki pluginconfig.xml powinien być umieszczony w podkatalogu config w katalogu wtyczki. Pliki JAR są zwykle umieszczane w podkatalogu lib w katalogu wtyczki. Tworząc pliki konfiguracyjne wtyczek, programiści mogą korzystać ze schematu XML w pliku <install-home>/config/pluginconfig.xsd.
Elementy i atrybuty
Element: AgentControllerConfiguration
Jest to element główny konfiguracji podstawowej. Zawarte w nim ustawienia są używane do uruchamiania usługi mechanizmu.
Używany przez: Konfiguracja podstawowa
Podelementy: AgentControllerEnvironment, Application, Hosts, Service, Agent, Option, Plugin
Atrybuty:
- activeConfiguration
- Określa, którą konfigurację należy załadować przy uruchamianiu mechanizmu.
- filePort
- Określa port, na którym nasłuchuje usługa przesyłania plików komponentu Agent Controller. Wartość domyślna to 10005.
- isDataMultiplexed
- Określa, czy dane profilowania i rejestrowania powinny być przesyłane przez kanał sterowania komponentu Agent Controller. Kanał sterowania może domyślnie używać dowolnego portu do transmisji danych, co wiąże się z możliwością zablokowania go przez firewall. Przesyłanie danych przez kanał sterowania pozwala przepuszczać przez firewall żądania połączeń przychodzące na porty z predefiniowanego zestawu. Zestaw ten obejmuje domyślny port 10002, zabezpieczony port 10003 i port serwera plików 10005. Wartością domyślną atrybutu jest false.
- jvm
- Pełna ścieżka do dynamicznej biblioteki wykonawczej wirtualnej maszyny języka Java (jvm.dll lub libjvm.so).
- loggingDetail
- Przy ustawieniu HIGH włącza rejestrowanie numerów wierszy.
- loggingDirectory
- Katalog, w którym ma być utworzony plik dziennika servicelog.log.
- loggingLevel
- Filtr istotności komunikatów dziennika.
- port
- Numer portu, na którym mechanizm nasłuchuje nadchodzących od klientów połączeń niezabezpieczonych.
- processPolling
- Określa, czy aktywne sprawdzanie statusu procesu jest włączone. Atrybut ten jest używany głównie w systemach Windows w celu wymuszenia powiadamiania komponentu Agent Controller o zakończeniu każdego procesu. Wartością domyślną jest true.
- securedPort
- Numer portu, na którym mechanizm nasłuchuje nadchodzących od klientów połączeń zabezpieczonych.
- version
- Wersja mechanizmu.
Element: PluginConfiguration
Jest to element główny konfiguracji wtyczki. Zawarte w nim ustawienia są ładowane po załadowaniu konfiguracji podstawowej.
Używany przez: Konfiguracja wtyczki
Podelementy: AgentControllerEnvironment, Application, Service, Agent, Option
Atrybuty:
- requires
- 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
Jest to element zastępczy dla globalnych zmiennych środowiskowych udostępnianych przez daną konfigurację. Są one publikowane w systemie i dostępne dla wszystkich innych konfiguracji, łącznie z konfiguracją podstawową.
Używany przez: AgentControllerConfiguration, PluginConfiguration
Podelementy: Variable
Atrybuty:
- configuration
- Nazwa konfiguracji, do której mają być dodawane zmienne środowiskowe.
Element: Application
Jest to element zastępczy dla zmiennych środowiskowych używanych tylko przez daną aplikację. Zawarte w nim ustawienia są widoczne tylko dla tej aplikacji.
Używany przez: AgentControllerConfiguration, PluginConfiguration
Podelementy: Variable, Parameter
Atrybuty:
- configuration
- Nazwa konfiguracji, do której ma być dodana aplikacja.
- executable
- Nazwa aplikacji, używana obowiązkowo przez klientów do identyfikowania aplikacji.
- path
- Pełna ścieżka do programu, który dana aplikacja ma uruchamiać.
- location
- Katalog roboczy aplikacji.
- extends
- Nazwa konfiguracji, w której ta sama aplikacja jest już zdefiniowana; bieżące ustawienia zostaną nałożone na tę konfigurację.
Element: Hosts
Jest to element zastępczy dla informacji o hoście. Na jego podstawie mechanizm dopuszcza lub odrzuca połączenia od określonych hostów.
Używany przez: AgentControllerConfiguration
Podelementy: Allow, Deny
Atrybuty:
configurationNazwa konfiguracji, w której są używane te informacje o hoście.
Element: Allow
Określa, które hosty mogą nawiązywać połączenie z mechanizmem.
Używany przez: Hosts
Atrybuty:
- host
- Nazwa lub adres IP hosta.
- net
- Podsieć.
- mask
- Maska podsieci.
Element: Deny
Określa, które hosty nie mogą nawiązywać połączeń z mechanizmem.
Używany przez: Hosts
Atrybuty:
- host
- Nazwa lub adres IP hosta.
- net
- Podsieć.
- mask
- Maska podsieci.
Element: Service
Określa, który zdefiniowany przez użytkownika moduł ma zostać załadowany przy uruchamianiu mechanizmu.
Używany przez: AgentControllerConfiguration, PluginConfiguration
Podelementy: Option
Atrybuty:
- configuration
- Nazwa konfiguracji, w której ma być ładowana dana usługa.
- name
- Nazwa usługi.
- path
- Pełna ścieżka do biblioteki ładowanej dynamicznie.
Element: Agent
Określa informacje dotyczące agenta.
Używany przez: AgentControllerConfiguration, PluginConfiguration
Podelementy: Option
Atrybuty:
- configuration
- Nazwa konfiguracji, w której używana jest dana konfiguracja agenta.
- name
- Nazwa agenta.
- type
- Typ agenta.
- dataChannelSize
- Ilość pamięci współużytkowanej do przydzielenia na potrzeby komunikacji międzyprocesowej.
- logFile
- Pełna ścieżka do pliku dziennika, w którym zapisywane są komunikaty wysyłane przez agenta.
- client
- Określa, czy dany agent jest dynamiczny, czy nienadzorowany.
Element: Option
Element używany do przechowywania pary nazwa-wartość.
Używany przez: AgentControllerConfiguration, PluginConfiguration, Service, Agent
Atrybuty:
- name
- Nazwa opcji (np. namespace).
- type
- Typ opcji (np. nazwa opcji).
- value
- Wartość opcji.
Element: Plugin
Określa katalog, w którym mają być wyszukiwane konfiguracje wtyczek.
Używany przez: AgentControllerConfiguration
Atrybuty:
pathPełna ścieżka do katalogu, w którym mają być wyszukiwane konfiguracje wtyczek.
Element: Variable
Zmienna środowiskowa.
Używany przez: Application, AgentControllerEnvironment
Atrybuty:
- name
- Nazwa zmiennej środowiskowej (np. CLASSPATH).
- value
- Wartość zmiennej środowiskowej.
- position
- Określa, czy wartość ma być dołączona na końcu, dołączona na początku, czy też ma zastąpić istniejącą wartość.
Element: Parameter
Parametr programu.
Używany przez: Application
Atrybuty:
- value
- Wartość parametru programu.
- position
- Określa, czy parametr ma być dołączony na końcu, dołączony na początku, czy też ma zastąpić istniejący parametr.