X4 Produktdokumentation

Worker Thread Pool konfigurieren

Der Worker Thread Pool dient der zentralen Verwaltung von Threads, die von X4 BPMS intern genutzt werden, beispielsweise durch Adapter und durch den Scheduler. Um den Worker Thread Pool zu verwenden, ist eine Konfigurationsdatei erforderlich, die beim Serverstart geladen wird.

So erstellen Sie die Konfigurationsdatei

  1. Öffnen Sie einen Editor, wie z. B. Notepad++.

  2. Legen Sie eine Datei mit folgender Struktur an.

    XML
    <Configuration>
        <CorePoolSize></CorePoolSize> 
        <MaximumQueueSize></MaximumQueueSize> 
        <MaximumPoolSize></MaximumPoolSize>  
        <KeepAliveTime></KeepAliveTime> 
        <KeepAliveTimeUnit></KeepAliveTimeUnit> 
    </Configuration>
    
  3. Speichern Sie die Datei mit dem Namen platform-worker-thread-pool.xml im Verzeichnis <Serververzeichnis>/configurations/platform-worker-thread-pool.xml.

Hinweis:

Wenn diese Datei nicht im Ordner configurations vorhanden ist, greift X4 BPMS auf die Standardwerte zurück:

XML
<Configuration>
    <CorePoolSize>10</CorePoolSize>          
    <MaximumQueueSize>100</MaximumQueueSize>  
    <MaximumPoolSize>100</MaximumPoolSize> 
    <KeepAliveTime>60</KeepAliveTime> 
    <KeepAliveTimeUnit>SECONDS</KeepAliveTimeUnit>
</Configuration>

Folgende Elemente sind in der Konfigurationsdatei enthalten:

Element

Beschreibung

Configuration

Wurzelelement der Konfigurationsdatei

CorePoolSize

Anzahl der Threads, die immer im Pool vorhanden sind

Mögliche Werte:

  • beliebige Ganzzahl

  • 10 (Standardwert)

MaximumQueueSize

Maximale Anzahl der Threads in der Warteschlange

Mögliche Werte:

  • beliebige Ganzzahl

  • 100 (Standardwert)

MaximumPoolSize

Maximale Anzahl der Threads im Pool

Mögliche Werte:

  • beliebige Ganzzahl

  • 100 (Standardwert)

KeepAliveTime

Idle-Dauer für Threads außerhalb der CorePoolSize

Mögliche Werte:

  • beliebige Ganzzahl

  • 60 (Standardwert)

KeepAliveTimeUnit

Zeiteinheit der Idle-Dauer für Threads außerhalb der CorePoolSize

Mögliche Werte:

  • DAYS

  • HOURS

  • MINUTES

  • SECONDS

  • MICROSECONDS

  • NANOSECONDS


Empfehlungen zur Anpassung

  • Erhöhen Sie den Wert für MaximumPoolSize, wenn viele Prozesse gleichzeitig gestartet oder länger laufend sind.

  • Achten Sie auf eine ausreichende RAM-Zuweisung an die JVM, da mehr Threads höheren Speicherbedarf verursachen.

  • Falls im Log eine RejectedExecutionException erscheint, deutet dies auf eine zu kleine Pool- oder Warteschlangengröße hin. Passen Sie die Werte entsprechend an.