Changing the JBoss EAP 7.1+ Remoting Endpoint IO Subsystem Worker Pool Name
Environment
- Red Hat JBoss Enterprise Application Platform (JBoss EAP) 7.1, 7.2 or later
- Remote Enterprise Java Beans (EJB)
- Thread Tuning
Issue
- Use an dedicated io-worker
Resolution
Please note that names of the socket-binding-group, http-listener, worker, as well as the number of io-threads and port number are provided as an example only. Please change the values if necessary to meet your system requirements.
-
Configure a new worker in the IO subsystem
/subsystem=io/worker=newWorker:add(io-threads=10) -
Configure a new http port in socket-binding-group
/socket-binding-group=standard-sockets/socket-binding=http-remoting:add(port=8090) -
Configure a new http(s)-listener in Undertow subsystem indicating new IO worker
/subsystem=undertow/server=default-server/http-listener=newHttpListener:add(worker=newWorker, socket-binding=http-remoting) -
Configure http-connector to refer to the new http-listener
/subsystem=remoting/http-connector=http-remoting-connector:write-attribute(name=connector-ref, value=newHttpListener) -
Set the remoting endpoint worker in the IO subsystem by setting the worker attribute on the endpoint
/subsystem=remoting/configuration=endpoint:write-attribute(name=worker, value=newWorker)
Root Cause
According to JBEAP-7284, the remoting worker and http(s) worker must be the same. In default, the remoting subsystem uses the http listener named “default” in undertow subsystem. Changing the remote endpoint IO worker requires defining another http(s) listener with a designated worker pool.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments