[jira] [Commented] (DERBY-6932) Migrate finalization to the new Cleaner-based pattern introduced by JDK 9 build 167

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (DERBY-6932) Migrate finalization to the new Cleaner-based pattern introduced by JDK 9 build 167

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/DERBY-6932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15999962#comment-15999962 ]

Bryan Pendleton commented on DERBY-6932:
----------------------------------------

Thanks for the references and background information, Rick, it's very helpful.

That's definitely a substantial patch for ClientConnection.

If we take this approach, is it possible to remain compatible with JDK 8? Or does moving to the new Cleaner technique mean that we'd have code that only built and ran with JDK 9?


> Migrate finalization to the new Cleaner-based pattern introduced by JDK 9 build 167
> -----------------------------------------------------------------------------------
>
>                 Key: DERBY-6932
>                 URL: https://issues.apache.org/jira/browse/DERBY-6932
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Network Client, Network Server
>    Affects Versions: 10.14.0.0
>            Reporter: Rick Hillegas
>         Attachments: ClientConnection.patch, derby-6932-01-aa-suppressDeprecationWarnings.diff
>
>
> As of build 167, JDK 9 deprecated the finalize() method. This produces deprecation warnings when compiling several Derby classes. See https://issues.apache.org/jira/browse/DERBY-6856?focusedCommentId=15990011&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15990011 . The recommended fix is a non-trivial mini-project, viz., to migrate to a new finalization pattern based on a newly added Java 9 class, java.lang.ref.Cleaner. Peter Levart kindly mocked up the fix for one affected Derby class (ClientConnection). See http://cr.openjdk.java.net/~plevart/misc/Cleaner/derby/ClientConnection_finalize2cleaner.patch
> Further discussion can be found on the following open-jdk email thread: http://mail.openjdk.java.net/pipermail/core-libs-dev/2017-May/047417.html



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)