So wird ein verwalteter ExecutorService erstellt

Mithilfe eines Managed Executor-Service führen Anwendungen weitergeleitete Tasks asynchron aus. Tasks werden auf Threads ausgeführt, die vom Container gestartet und verwaltet werden. Der Kontext des Containers wird an den Thread propagiert, der die Task ausführt.

In GlassFish Server konfigurieren Sie eine Managed Executor-Serviceressource und stellen sie für Anwendungskomponenten wie Servlets und EJBs bereit.

  1. Blenden Sie in der Navigationsbaumstruktur den Knoten "Ressourcen" ein.

  2. Blenden Sie unter dem Ressourcenknoten den Knoten "Nebenläufige Ressourcen" ein.

  3. Wählen Sie unter dem Knoten "Nebenläufige Ressourcen" den Knoten "Verwaltete ExecutorServices".

    Die Seite "Verwaltete ExecutorServices" wird geöffnet.

  4. Klicken Sie auf der Seite "Verwaltete ExecutorServices" auf "Neu".

    Die Seite "Neuer verwalteter ExecutorService" wird geöffnet.

  5. Geben Sie im Feld "JNDI-Name" einen eindeutigen Namen zur Identifizierung der Ressource ein.

    Der JNDI-Name wird im JNDI Naming Service registriert und von Anwendungen zum Lookup der Ressource verwendet. Verwenden Sie das Format concurrent/name. Beispiel: concurrent/myManagedExecutorService. Der Name darf ausschließlich alphanumerische Zeichen, Unterstriche, Gedankenstriche oder Punkte enthalten.

  6. Aktivieren Sie das Kontrollkästchen "Kontextinformationen", um die Kontexte auf Threads zu propagieren, und wählen Sie die zu propagierenden Kontexte.

    Standardmäßig ist diese Option aktiviert, und alle Kontexte sind gewählt. Klicken Sie bei gedrückter UMSCHALT- oder STRG-Taste, um mehrere Kontexte auszuwählen. Wenn diese Option deaktiviert ist, werden Kontexte nicht propagiert, auch wenn sie ausgewählt sind.

  7. Aktivieren Sie das Kontrollkästchen "Status", um die Ressource zu aktivieren.

    Diese Option ist standardmäßig aktiviert, was bedeutet, dass die Ressource bei ihrer Erstellung sofort verfügbar wird.

  8. Geben Sie im Feld "Threadpriorität" die Priorität ein, die erstellten Threads zugewiesen werden soll.

    Der Standardwert ist 5.

  9. Aktivieren Sie das Kontrollkästchen "Tasks mit langer Ausführungszeit", um die Ressource zur Ausführung von Tasks mit langer Ausführungszeit zu verwenden.

    Ist diese Option aktiviert, werden Tasks mit langer Ausführungszeit nicht als aufgehängt gemeldet. Diese Option ist standardmäßig deaktiviert.

  10. Geben Sie im Feld "Aufgehängt nach" die Anzahl Sekunden ein, die Tasks ausgeführt werden dürfen, bevor sie als nicht reagierend eingestuft werden.

    Der Standardwert lautet 0, was bedeutet, dass Tasks niemals als nicht reagierend eingestuft werden.

  11. Geben Sie im Feld "Beschreibung" eine kurze Beschreibung der Ressource ein.

    Bei dieser Beschreibung handelt es sich um einen Zeichenfolgenwert, der maximal 250 Zeichen umfassen darf.

  12. Geben Sie im Feld "Kerngröße" die Anzahl Threads ein, die in einem Threadpool bleiben sollen, auch wenn sie inaktiv sind.

    Wenn eine neue Task weitergeleitet wird und die Anzahl ausgeführter Tasks niedriger als die Kerngröße ist, wird zur Verarbeitung der Anforderung ein neuer Thread erstellt. Der Standardwert lautet 0, was bedeutet, dass neue Threads nie erstellt werden, es sei denn, die Taskqueue ist voll, oder die Ressource verwendet direktes Queuing. Direktes Queuing tritt auf, wenn die Kapazität der Taskqueue bei 0 liegt oder wenn die Kapazität der Taskqueue bei 2147483647 liegt und die Kerngröße 0 beträgt.

  13. Geben Sie im Feld "Maximale Poolgröße" die maximale Anzahl Threads ein, die ein Threadpool enthalten darf.

    Der Standardwert lautet 2147483647, was im Prinzip bedeutet, dass der Threadpool keiner Größenbeschränkung unterliegt und eine unbegrenzte Anzahl Threads enthalten kann.

  14. Geben Sie im Feld "Keep Alive" die Anzahl Sekunden ein, die Threads inaktiv bleiben können, wenn die Anzahl Threads größer ist als die Kerngröße.

    Der Standardwert ist 60.

  15. Geben Sie im Feld "Threadgültigkeitsdauer" die Anzahl Sekunden ein, die Threads in einem Threadpool bleiben dürfen, bevor sie gelöscht werden, unabhängig davon, ob die Anzahl Threads größer ist als die Kerngröße oder ob die Threads inaktiv sind.

    Der Standardwert lautet 0, was bedeutet, dass Threads niemals gelöscht werden.

  16. Geben Sie im Feld "Kapazität der Taskqueue" die Anzahl weitergeleiteter Tasks ein, die in der auf Ausführung wartenden Taskqueue gespeichert werden können.

    Der Standardwert lautet 2147483647, was im Prinzip bedeutet, dass die Taskqueue keiner Größenbeschränkung unterliegt und eine unbegrenzte Anzahl weitergeleiteter Tasks speichern kann.

  17. Fügen Sie im Abschnitt "Weitere Eigenschaften" keine weiteren Eigenschaften hinzu.

    GlassFish Server definiert keine weiteren Eigenschaften für diesen Ressourcentyp. Darüber hinaus verwendet dieser Ressourcentyp derzeit keine weiteren Eigenschaften.

  18. Klicken Sie auf "OK".

Siehe auch
Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices