Konfiguracja i parametryzowanie listenerów

Jeżeli chcemy dodać własny moduł do instancji jPALIO należy dodać konfigurację tego listenera do konfiguracji instancji jPALIO. Najprostsza konfiguracja listenera wygląda w sposób następujący:

<listener name="sample">
    <class>sample.listener.SampleListener</class>
</listener>

Minimalna konfiguracja obejmuje wskazanie nazwy listenera oraz klasy będącej implementującją listenera. Listener może zostać zparametryzowany. Jeżeli listener korzysta z dodatkowych parametrów konfiguracyjnych, powyższy podstawowy wpis należy rozszerzyć do postaci następującej:

<listener name="sample">
<class>sample.listener.SampleListener</class>
<path>/tmp/listener/</path>
<pollingPeriod>1000</pollingPeriod>
 <param1>param1Value</param1>
<param2>param2Value</param2>
...
</listener>

Dostęp do parametrów konfiguracyjnych realizowany jest poprzez pole properties w klasie bazowej. Odnosząc się do przykładowej implementacji listenera z poprzedniego rozdziału dobrym rozwiązaniem będzie sparametryzowanie ścieżki do katalogu, który ma być odpytywany oraz okresu odpytywania. Klasę tę można rozszerzyć o dwa dodatkowe pola:

private final String path;
private final long pollingPeriod;

A ich inicjalizacja, na podstawie parametrów konfiguracji oraz wartości domyślnych może wyglądać w sposób nastepujący:

String paramValue = this.properties.getProperty("path", DEFAULT_PATH);
this.path = paramValue;
paramValue = this.properties.getProperty("pollingPeriod");
this.pollingPeriod = paramValue == null ? DEFAULT_POLLING_PERIOD : Long.valueOf(paramValue);