OF-3028: Netty threads from 'child' EventLoop should use Netty-default settings
As we're overriding the thread factories used for Netty EventLoops to change the names of threads, we've also changed the default configuration of threads used by Netty.
Netty's default configuration can be expected to be optimized for performance. Openfire should use a similar configuration.
In this commit, the configuration is reverted back to the default configuration that's used by Netty (based on `io.netty.util.concurrent.DefaultThreadFactory`).
OF-3027: Give Netty threads a recognizable name
To facilitate debugging, the various threads used by Netty EventLoops should have names that at least contain the type of connection that they're operating for.
This commit changes the name of threads of the
- 'parent' eventloop from `nioEventLoopGroup-7-1` (a Netty default) to `socket_s2s_ssl-acceptor-7`
- 'child' eventloop from `socket_s2s_ssl-thread-3` (a Netty default) to `socket_s2s_ssl-worker-3`
To do this, a new theadpool factory is introduces for the 'parent' eventloop. The new factory is configured to use the same priorty and daemon settings as the default Netty threadpool factory.
OF-2966: BOSH events should execute in-order
BOSH related events (mostly: processing of received stanzas) are executed by a worker pool of threads.
Events for each individual session must be processed in the same order in which they are received. Prior to this change, every event was potentially executed by a different worker thread. This can cause some events to be processed (or finish processing) before an earlier event finishes execution in another worker thread.
This commit adds FIFO-based queuing of events, that ensures that events that belong to the same session are processed:
- by only one thread from the worker pool;
- in the same order in which they're received.