RFR: 8297976: Remove sun.net.ProgressMonitor and related classes

Andrey Turbanov aturbanov at openjdk.org
Mon Dec 5 07:02:11 UTC 2022


On Fri, 2 Dec 2022 08:31:25 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

> Please review this patch that removes progress monitoring classes used by UrlConnection.
> Since Java 9 these classes are not used in the JDK, and are not exported from java.base. If anyone was still using them, reimplementing them in user code should be pretty straightforward.
> 
> This PR also fixes the issue where MeteredStream finalizer could resurrect an unusable connection, causing unexpected exceptions in other parts of the code.
> 
> No new regression test; since we are removing the finalizer, I don't believe we will see the issue again. I can add a test for that if you think it still makes sense.
> 
> I had to adjust `ProxyModuleMapping.java` test which used `sun.net.ProgressListener` as an example of a module-private interface; I replaced it with another public interface from the same package.
> 
> Existing tier 1-3 tests continue to pass.

src/java.base/share/classes/sun/net/www/http/KeepAliveStream.java line 58:

> 56:      * Constructor
> 57:      */
> 58:     public KeepAliveStream(InputStream is, long expected, HttpClient hc)  {

Nit:
Suggestion:

    public KeepAliveStream(InputStream is, long expected, HttpClient hc) {

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

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


More information about the core-libs-dev mailing list