[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-4317) Memory leak in EnumType class.

Ondrej Medek (JIRA) noreply at atlassian.com
Wed Feb 3 04:24:30 EST 2010


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-4317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35442#action_35442 ] 

Ondrej Medek commented on HHH-4317:
-----------------------------------

Pablo, calling a method by reflection is cheap, but a method lookup by Class.getDeclaredMethod() is expensive (the lookup Class.forName() is expensive, too.) I mean "expensive" comparing with HashMap.get(), probably much much cheaper then DB access :-)

Also the other problem with the original implementation of EnumType is a thread-safety. I guess the caching in enumValues is not a thread safe.

> Memory leak in EnumType class.
> ------------------------------
>
>                 Key: HHH-4317
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4317
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: annotations
>            Reporter: Paweł Kępka
>            Priority: Critical
>         Attachments: EnumType.java, enumtypeleak.war
>
>
> Holding enum values in static enumValues map in EnumType class causes memory leaks on application server where hibernate is loaded by application server's common classloader (like for default configuration of JBoss4).
> SoftReference or SessionFactory based caching should be used instead. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the hibernate-issues mailing list