You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Jochen Theodorou (JIRA)" <ji...@apache.org> on 2017/05/23 15:33:05 UTC

[jira] [Commented] (GROOVY-8199) Re-enable use of ClassValue for all JDKs

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

Jochen Theodorou commented on GROOVY-8199:
------------------------------------------

Just to get a summary here somehow and to refresh my memory... The problem basically was that ClassValue references the class it was made for. This prevents the unloading of that class basically forever. This got resolved by using a WeakReference, which is used by ClassInfo for classRef, which is the computed value of the ClassValue. The WeakReference ensure we break through the circular reference problem and everything can be collected again.

Is this a halfway correct summary?

> Re-enable use of ClassValue for all JDKs
> ----------------------------------------
>
>                 Key: GROOVY-8199
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8199
>             Project: Groovy
>          Issue Type: Task
>    Affects Versions: 3.x, 2.5.0-alpha-1, 2.4.11
>            Reporter: Jochen Kemnade
>              Labels: patch
>         Attachments: 2.4.x-0001-GROOVY-8199-GROOVY-7591-GROOVY-7683-remove-groovy.us.patch, master-0001-GROOVY-8199-GROOVY-7591-GROOVY-7683-remove-groovy.us.patch
>
>
> For GROOVY-7591, the {{groovy.use.classvalue}} system property was introduced. Since the underlying issue (GROOVY-7683) is fixed, the property should be removed again.



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