Quantcast

[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
|  
Report Content as Inappropriate

[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=16000902#comment-16000902 ]

Rick Hillegas commented on DERBY-6932:
--------------------------------------

According to Peter Levart on the referenced open-jdk email thread:

"Each Cleaner instance means a separate thread which processes cleanup actions. If you create an instance in some common module and expose it to other modules, the same instance can be used in other modules that depend on it."

I think this means that we could get away with a single Cleaner instance for each component, i.e., each independent jar file we build. When we convert Derby into jigsaw modules, that might mean a separate Cleaner instance for each module.

> 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)
Loading...