Skip to content

Commit 1cb17af

Browse files
author
graeme
committed
removed meta classes from registry on tearDown to improve mem consumption
git-svn-id: https://svn.codehaus.org/grails/trunk@6805 1cfb16fd-6d17-0410-8ff1-b7e8e1e2867d
1 parent 8543e46 commit 1cb17af

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

test/persistence/org/codehaus/groovy/grails/orm/hibernate/AbstractGrailsHibernateTests.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,13 @@ protected void onSetUp() throws Exception {}
133133
protected final void tearDown() throws Exception {
134134
ConfigurationHolder.setConfig(null);
135135
ApplicationHolder.setApplication(null);
136-
GroovySystem.getMetaClassRegistry().setMetaClassCreationHandle(new MetaClassRegistry.MetaClassCreationHandle());
136+
MetaClassRegistry metaClassRegistry = GroovySystem.getMetaClassRegistry();
137+
Class[] loadedClasses = gcl.getLoadedClasses();
138+
for (int i = 0; i < loadedClasses.length; i++) {
139+
Class loadedClass = loadedClasses[i];
140+
metaClassRegistry.removeMetaClass(loadedClass);
141+
}
142+
metaClassRegistry.setMetaClassCreationHandle(new MetaClassRegistry.MetaClassCreationHandle());
137143
PluginManagerHolder.setPluginManager(null);
138144
if(TransactionSynchronizationManager.hasResource(this.sessionFactory)) {
139145
SessionHolder holder = (SessionHolder) TransactionSynchronizationManager.getResource(this.sessionFactory);

0 commit comments

Comments
 (0)