[
https://issues.apache.org/jira/browse/GROOVY-7621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Wagenleitner closed GROOVY-7621.
-------------------------------------
Resolution: Fixed
I'm going to reclose this issue, if you are seeing the stackoverflow issue in
2.4.7 then it would be good to open a new issue for that.
> Memory Leak (metaClassRegistry) unable to remove metaClass based on instances
> -----------------------------------------------------------------------------
>
> Key: GROOVY-7621
> URL: https://issues.apache.org/jira/browse/GROOVY-7621
> Project: Groovy
> Issue Type: Bug
> Components: groovy-runtime
> Affects Versions: 2.3.7
> Environment: Running from Eclipse, JBoss with jdk 1.6
> Reporter: Kimball C Sampson
> Assignee: John Wagenleitner
> Fix For: 2.4.6
>
>
> I'm using the GroovyScriptEngine in a web server environment where the
> scripts are provided properties on-the-fly from database objects. This is
> done by implementing script.metaClass.propertyMissing. When I return a
> value, I set the metaClass to give the returned value even more
> sub-properties. After processing 100k records or so, I run out of memory. I
> tried to write code to remove entries from the metaClassRepository, but
> there's no way to do it for an object instanced based metaClass. Also, I've
> outputed the GroovySystem.metaClassRepository.iterator().size() and it kept
> growing. The values are out of scope so they should get garbage collected,
> but the metaClasses aren't getting cleaned up.
> The workaround to this problem was to implement a groovy Proxy, though, I
> liked the metaClass solution better.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)