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 'close' executed by worker threads
By having the 'close' routine be executed by the same worker threads that process regular BOSH data, the processing order of all of these will make use of the FIFO mechanism introduced in the last two commits.
This helps ensure that a 'close' (terminate) event is processed only after stanzas that were received earlier have been processed - assuming that this processing is synchronous.
org.opentest4j.AssertionFailedError: expected: not <null>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertNotNull.failNull(AssertNotNull.java:49)
at org.junit.jupiter.api.AssertNotNull.assertNotNull(AssertNotNull.java:35)
at org.junit.jupiter.api.AssertNotNull.assertNotNull(AssertNotNull.java:30)
at org.junit.jupiter.api.Assertions.assertNotNull(Assertions.java:301)
at org.jivesoftware.openfire.session.LocalOutgoingServerSessionTest.outgoingTest(LocalOutgoingServerSessionTest.java:308)
(126 more lines...)