EJB-Zeitgeberservice konfigurieren

Für nicht persistente EJB-Zeitgeber können Sie den EJB-Zeitgeberservice konfigurieren, um das Zeitgeberintervall und die Anzahl der Wiederholungen nach fehlgeschlagenen Aufrufen der Zeitlimit-Callback-Methode festzulegen.

Informationen zu diesem Vorgang

Der EJB-Zeitgeberservice wiederholt fehlgeschlagene Aufrufe der Zeitlimit-Callback-Methode für nicht persistente Zeitgeber alle 5 Minuten, bis die Zeitlimit-Callback-Methode erfolgreich ausgeführt wird. Verwenden Sie die folgenden Optionen, um nicht persistente Zeitgeber zu konfigurieren.

Maximale Wiederholungsanzahl

Gibt an, wie oft die fehlgeschlagene Zeitlimit-Callback-Methode maximal wiederholt werden soll. Wenn die Zeitlimit-Callback-Methode bei der Wiederholung erfolgreich ausgeführt wird, stellt der Server die Wiederholungsversuche ein. Wenn eine Wiederholung fehlschlägt, setzt der Server seine Versuche fort, bis die Zeitlimit-Callback-Methode erfolgreich ist oder das Wiederholungslimit erreicht wird. Nach dem Erreichen des Wiederholungslimits versucht der Server nicht mehr, die Zeitlimit-Callback-Methode auszuführen, selbst wenn die vorherigen Versuche nicht erfolgreich waren. Der Standardwert "-1" zeigt an, dass die Wiederholungen nicht beschränkt sind. Der Wert "0" zeigt an, dass keine Wiederholungen vorgenommen werden, und ist nicht spezifikationskonform. Der Wert "1" oder ein höherer Wert gibt die zulässige Anzahl an Wiederholungen an.

Das Ändern der konfigurierten Anzahl von Wiederholungen einer Zeitlimit-Callback-Methode für nicht persistente Zeitgeber ist für Anwendungen hilfreich, die den Abschluss nicht persistenter Zeitgeber zu jeder der geplanten Zeiten nicht erfordern. Wenn eine Anwendung beispielsweise einen nicht persistenten Intervallzeitgeber erstellt, der alle 5 Minuten ausgeführt werden soll, führt die Konfiguration von 0 Wiederholungen dazu, dass der Zeitgeber alle 5 Minuten nur ein einziges Mal ausgeführt wird, unabhängig davon, ob er erfolgreich war oder nicht.

Zeitintervall zwischen Wiederholungen

Gibt das Intervall an, in dem die Wiederholungen für eine fehlgeschlagene Zeitlimit-Callback-Methode durchgeführt werden. Die erste Wiederholung findet unabhängig vom konfigurierten Intervall immer sofort statt. Alle weiteren Wiederholungen werden in dem für diese Einstellung konfigurierten Intervall ausgeführt. Der Wert "0" bedeutet, dass alle Wiederholungen sofort erfolgen. Der Wert "1" oder ein höherer Wert gibt die Wartezeit in Sekunden zwischen den Wiederholungen an. Der Standardwert sind 300 Sekunden.

Die Konfiguration eines anderen Zeitintervalls für die Wiederholungen nicht persistenter Zeitgeber ist für Anwendungen hilfreich, in denen es wichtig ist, dass die Zeitlimit-Callback-Methode vor der geplanten Zeit abgeschlossen wird, wenn ein kürzeres Wiederholungsintervall verwendet wird. Dieser Ansatz gilt auch für Anwendungen, in denen es annehmbar ist, den Abschluss des Zeitgebers auf eine spätere Zeit zu verschieben, z. B., wenn ein höheres Wiederholungsintervall verwendet wird, um der Zeitlimit-Callback-Methode eine bessere Chance für eine erfolgreiche Ausführung einzuräumen.

Vorgehensweise

  1. Konfigurieren Sie den Anwendungsserver mit einem EJB-Feature, das nicht persistente Zeitgeber unterstützt, in der Datei server.xml. Fügen Sie der Datei server.xml beispielsweise Folgendes hinzu:
    <featureManager> 
         <feature>ejbLite-3.2</feature>
    </featureManager>
  2. Konfigurieren Sie den EJB-Zeitgeberservice in der Datei server.xml so, dass er eine bestimmte maximale Anzahl von Wiederholungen und bestimmte Wiederholungsintervallwerte für nicht persistente Zeitgeber verwendet. Verwenden Sie beispielsweise die folgende Konfiguration, um festzulegen, dass nicht persistente Zeitgeber bis zu dreimal in einem Abstand von jeweils 10 Sekunden wiederholt werden:
    <ejbContainer>        
         <timerService nonPersistentMaxRetries="3" nonPersistentRetryInterval="10"/>
    </ejbContainer>

    Bei dieser Konfiguration kann die Zeitlimit-Callback-Methode für einen Zeitgeber bis zu viermal aufgerufen werden. Der erste Aufruf findet zur geplanten Zeit statt. Wenn der erste Aufruf fehlschlägt, findet die erste Wiederholung unmittelbar nach dem Auftreten des Fehlers statt. Schlägt die Zeitlimit-Callback-Methode weiterhin fehl, finden die zweite und dritte Wiederholung jeweils 10 bzw. 20 Sekunden später statt.

    Im folgenden Beispiel wird eine fehlgeschlagene Zeitlimit-Callback-Methode nur ein einziges Mal wiederholt. Das Callback-Intervall ist irrelevant, weil die erste Wiederholung immer unverzüglich durchgeführt wird.

    <ejbContainer> 
         <timerService nonPersistentMaxRetries="1"/>    
    </ejbContainer>

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_config_ejbtime
Dateiname: twlp_config_ejbtime.html