[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-2394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arturo Bernal closed HTTPCLIENT-2394.
-------------------------------------
    Resolution: Won't Do

> Virtual Thread (JDK 21) support for classic CloseableHttpClient — disabled by 
> default
> -------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2394
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2394
>             Project: HttpComponents HttpClient
>          Issue Type: New Feature
>            Reporter: Arturo Bernal
>            Priority: Major
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Add support to run the classic (blocking) HTTP transport on *JDK 21 Virtual 
> Threads* while preserving the existing public API and error semantics. The 
> feature is *disabled by default* and can be enabled via builder settings. An 
> additional toggle allows running the response handler on a virtual thread as 
> well.
> *Motivation*
>  * Reduce platform thread usage and memory footprint under high concurrency.
>  * Keep the blocking I/O programming model; no migration to the async API 
> required.
>  * Provide a simpler path than the Classic→Async adapter.
> *Scope*
>  * Builder settings to enable virtual-thread execution and configure the 
> executor.
>  * Optional setting to execute {{HttpClientResponseHandler}} on a virtual 
> thread.
>  * Preserve current behavior for errors and closing:
>  ** Task rejection → {{IOException("client closed", cause)}}
>  ** Interruption → cancel task, restore interrupt flag, throw 
> {{InterruptedIOException}}
>  ** Execution errors → unwrap {{IOException}} / {{RuntimeException}} / 
> {{{}Error{}}}, otherwise wrap in {{IOException}}
>  * Runtime activation on *JDK 21+* (feature remains inactive on older JDKs).
>  * Mark feature as *experimental* for one minor cycle.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to