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

Jaikiran Pai jpai at openjdk.org
Mon Dec 5 09:22:04 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.

Looks good to me (apart from Daniel's question). 

As you note, these are internal classes and aren't exported from the java.base module (to applications) and given the context in which those classes were used, my understanding is that we won't need a CSR for this change.

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

Marked as reviewed by jpai (Reviewer).

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


More information about the core-libs-dev mailing list