The Executor (thread pool)
Introduction
The Executor represents a thread pool that can be shared between components in JBoss Web. Historically there has been a thread pool per connector created but this allows you to share a thread pool, between (primarly) connector but also other components when those get configured to support executors
The executor
is defined in the subsystem=threads
See AS7 Admin Guide
for more on the threads system.
Example
To demonstrate how a the logic works a thread-pool
was added to the subsystem=threads
and used in the
subsystem=web/connector=http
:
subsystem=threads
A
thread-pool
named "http" has been added it uses athread-factory
that creates threads named "HTTP-number"[standalone@localhost:9999 /] ./subsystem=threads:read-resource(recursive=true) { "outcome" => "success", "result" => { "bounded-queue-thread-pool" => undefined, "queueless-thread-pool" => undefined, "scheduled-thread-pool" => undefined, "thread-factory" => {"http" => { "name" => "http", "priority" => 9, "thread-name-pattern" => "HTTP-%t" }}, "unbounded-queue-thread-pool" => {"http" => { "max-threads" => { "count" => big decimal 10, "per-cpu" => big decimal 20 }, "name" => "http", "thread-factory" => "http" }} } }
the connector using it
That is just a standard http
connector
that uses the thread-pool defined above.[standalone@localhost:9999 /] ./subsystem=web/connector=http:read-resource { "outcome" => "success", "result" => { "executor" => "http", "protocol" => "HTTP/1.1", "scheme" => "http", "socket-binding" => "http", "ssl" => undefined, "virtual-server" => undefined } }