Ein Arbeitsmanager fungiert als verwaltetes Steuerprogramm (Thread-Pool), als Thread-Factory und als Thread-Kontext-Service für Anwendungskomponenten, die Concurrency Utilities for Java™ EE oder
asynchrone Beans verwenden. Konfigurieren Sie die Arbeitsmanager über die Administrationskonsole.
Vorbereitende Schritte
Wenn Sie mit Arbeitsmanagern nicht vertraut sind, lesen Sie den Artikel zu den Work-Manager-Konzepten.
Informationen zu diesem Vorgang
Der Work-Manager-Service ist immer aktiviert. In früheren Produktversionen konnte der
Work-Manager-Service mit der Administrationskonsole oder dem Konfigurationsservice inaktiviert
werden. Die Konfigurationsobjekte des Work-Manager-Service sind immer noch im
Konfigurationsservice vorhanden, das aktivierte Attribut wird jedoch ignoriert.
Sie können für jede Zelle mehrere Arbeitsmanager definieren. Jeder Arbeitsmanager ist an eine eindeutige
Position im JNDI-Namespace (Java Naming and
Directory Interface) gebunden.
Wichtig: Der Work-Manager-Service
wird nur über den EJB- (JavaBeans) oder Web-Container unterstützt.
Das Suchen und Verwenden eines konfigurierten Arbeitsmanager über einen
Java EE-Anwendungs-Client-Container wird nicht unterstützt.
Vorgehensweise
- Starten Sie die Administrationskonsole.
- Wählen Sie aus.
- Geben Sie einen Wert im Feld Geltungsbereich ein, und klicken Sie dann auf
Neu.
- Geben Sie die erforderlichen Eigenschaften für die Work-Manager-Einstellungen an.
- Geltungsbereich
- Der Geltungsbereich der konfigurierten Ressource. Dieser Wert gibt das
Verzeichnis für die Konfigurationsdatei an.
- Name
- Der Anzeigename für den Arbeitsmanager.
- JNDI-Name
- Der JNDI-Name (Java Naming and Directory Interface) für den Arbeitsmanager.
An diesen Namen können Ressourcenumgebungsreferenzen gebunden und von Komponenten verwendet werden,
die den Arbeitsmanager suchen müssen. Für jeden
Arbeitsmanager ist ein eindeutiger JNDI-Name in der Zelle erforderlich.
- Anzahl Alarmthreads
- Die maximale Anzahl der Threads eines eigenständigen Thread-Pools, in dem Alarme und Arbeitsvorgänge, deren Ausführung für einen bestimmten Zeitpunkt geplant ist, verarbeitet werden. Der Arbeitsmanager überwacht anstehende Alarme und geplante Arbeitsvorgänge und teilt sie diesem Thread-Pool zu.
Anmerkung: Die Anzahl der Alarmthreads, die Sie für diese Eigenschaft angeben,
hat keine Auswirkung auf die Anzahl der Threads, die Sie für die Eigenschaften
"Mindestanzahl der Threads" und "Maximale Anzahl der Threads" festlegen.
Die Eigenschaft "Anzahl der Alarmthreads" ist nur gültig
für den Thread-Pool für Alarmthreads.
Die Eigenschaften
"Mindestanzahl der Threads" und "Maximale Anzahl der Threads" sind nur für den Hauptthread-Pool gültig, der die Verarbeitungsanforderungen ausführt.
- Mindestanzahl der Threads
- Gilt für den Haupt-Thread-Pool für Arbeitsvorgänge, die zur sofortigen Ausführung an den Arbeitsmanager übergeben werden (die Ausführung
dieser Arbeitsvorgänge ist nicht für einen bestimmten Zeitpunkt geplant).
Die Mindestanzahl an Threads, die jederzeit im Thread-Pool verfügbar sein müssen. Weitere Threads werden erstellt, wenn sie benötigt werden.
- Maximale Anzahl der Threads
Anmerkung: Gilt für den Haupt-Thread-Pool für Arbeitsvorgänge, die zur sofortigen Ausführung an den Arbeitsmanager übergeben werden
(die Ausführung dieser Arbeitsvorgänge ist nicht für einen bestimmten Zeitpunkt geplant).
Die maximale Anzahl an Threads, die im Thread-Pool erstellt werden können.
Die maximale Anzahl an Threads kann vorübergehend überschritten werden, wenn das Kontrollkästchen "Erweiterbar" ausgewählt ist.
Diese zusätzlichen Threads werden verworfen, wenn die Arbeit in den Threads abgeschlossen ist.
- Threadpriorität
- Die Priorität, die allen Threads im Thread-Pool und allen von der Managed-Thread-Factory erstellten Threads zugewiesen wird.
Jeder Thread hat eine Priorität.
Threads mit einer höheren Priorität werden vor Threads mit einer niedrigeren Priorität ausgeführt.
Weitere Informationen zur Verwendung von Threadprioritäten finden Sie in der Javadoc zur Methode "setPriority"
der Klasse "java.lang.Thread" in der Spezizifikation Java Standard
Edition.
- [Optional] Geben Sie eine Beschreibung und eine Kategorie für den Arbeitsmanager an.
- [Optional] Wählen Sie die Servicenamen (Threadkontexttypen, die Java EE-Komponenten zugänglich gemacht wurden) aus, die dieser Arbeitsmanager dem übergebenden Thread entnehmen und im Ausführungsthread zugänglich machen soll. Die Liste der ausgewählten Services ist auch als "permanente" Kontextrichtlinie für den Arbeitsmanager
bekannt.
Werden mehr Services als erforderlich ausgewählt, kann sich dies nachteilig auf die Leistung auswirken.
Im Folgenden sind weitere optionale Felder aufgelistet:
- Zeitlimit für Arbeitsobjekt
- Gibt die Wartezeit in Millisekunden an, nach der eine gestartete Arbeitseinheit storniert
oder freigegeben wird. Wird kein Wert angegeben, wird das Zeitlimit
inaktiviert.
- Größe der Warteschlange für Verarbeitungsaufträge
- Gibt die Größe der Warteschlange für Verarbeitungsaufträge an.
Die Warteschlange für Verarbeitungsaufträge ist ein Puffer, in dem geplante Arbeitsobjekte gehalten werden.
Sie können 1 oder jeden größeren Wert angeben.
Der Thread-Pool entnimmt Arbeitsobjekte aus dieser Warteschlange.
Wenn Sie keinen Wert angeben oder der Wert gleich 0 ist, wird die Größe der Warteschlange automatisch festgelegt.
Wenn die Warteschlangengröße automatisch verwaltet wird, wird der jeweils größere der folgenden beiden Werte verwendet:
maximale_Anzahl_der_Threads oder 20.
Beachten Sie,
dass hohe Werte einen erheblichen Verbrauch von Systemressourcen bedingen.
- Aktion bei voller Warteschlange für Verarbeitungsaufträge
- Die Aktion, die ausgeführt wird, wenn der Thread-Pool ausgeschöpft und
die Warteschlange für Verarbeitungsaufträge voll ist. Diese Aktion wird gestartet, wenn Sie Anforderungen, die sich nicht auf Dämons beziehen, an den Arbeitsmanager übergeben. Bei der Einstellung "Fehler ausgeben" lösen die API-Methoden des Steuerprogramms und des Arbeitsmanagers eine
Ausnahme und keine Blockierung aus.
Standardtransaktionsklasse
Der Name der Transaktionsklasse, die verwendet wird, um die von dieser
Work-Manager-Instanz ausgeführte Arbeit zu klassifizieren, wenn keine Informationen zur
Klasse des z/OS Work Load Manager Service in den Arbeitskontextinformationen enthalten
sind.
Transaktionsklasse für Dämonprozesse
Der Name der Transaktionsklasse, die verwendet wird, um die
damönbezogene Arbeit zu klassifizieren, die von dieser Work-Manager-Instanz eingeleitet wurde.
- [Optional] Wählen Sie Angepasste Eigenschaften
> Neu aus. Im Folgenden sind weitere optionale Felder aufgelistet:
- Name
- lateWorkTime
- Wert
- Anzahl an Sekunden
- Geben Sie eine Beschreibung an.
- Typ
- Wählen Sie "java.lang.String" aus.
Die angepasste Eigenschaft "lateWorkTime" gibt die Anzahl der Sekunden an, nach der für verspätet begonnene
Arbeiten eine Informationsnachricht protokolliert werden muss.
Die Informationsnachricht wird einmal pro Arbeitsmanager protokolliert.
Der Standardwert ist 60 Sekunden, und der Wert 0 inaktiviert diese Eigenschaft.
- Name
- lateAlarmTime
- Wert
- Anzahl an Sekunden
- Geben Sie eine Beschreibung an.
- Typ
- Wählen Sie "java.lang.String" aus.
Die angepasste Eigenschaft "lateAlarmTime" legt die Anzahl der Sekunden fest, nach der ein Alarm für verspäteten Start
bewirkt, dass eine Informationsnachricht protokolliert wird.
Die Informationsnachricht wird einmal pro Arbeitsmanager protokolliert.
Der Standardwert ist 5 Sekunden, und der Wert 0 inaktiviert diese Eigenschaft.
- Speichern Sie die Konfiguration.
Ergebnisse
Der Arbeitsmanager ist jetzt konfiguriert und bereit für den Zugriff durch
Anwendungskomponenten, die die Ausführung des asynchronen Codes steuern müssen.