RFR: 8372159: HttpClient SelectorManager thread could be a VirtualThread

Daniel Fuchs dfuchs at openjdk.org
Wed Nov 19 16:18:39 UTC 2025


Each HttpClient instance creates an additional platform thread for its SelectorManager. With recent updates to NIO/VirtualThreads that thread could now become a VirtualThread. This would avoid having each HttpClient instance use up one platform thread.
This is similar to what was done for the HttpClient QuicSelectorThread in [JDK-8369920](https://bugs.openjdk.org/browse/JDK-8369920).
This should be transparent for users of the API. 
An undocumented internal system property is introduced that can revert the change in case of unforeseen trouble.

-------------

Commit messages:
 - 8372159: HttpClient SelectorManager thread could be a VirtualThread

Changes: https://git.openjdk.org/jdk/pull/28395/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28395&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8372159
  Stats: 290 lines in 8 files changed: 264 ins; 15 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/28395.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28395/head:pull/28395

PR: https://git.openjdk.org/jdk/pull/28395


More information about the net-dev mailing list