Ошибка нехватки памяти в тестовом примере JUnit

#java #grails #groovy #junit #grails-2.0

#java #grails #groovy #junit #grails-2.0

Вопрос:

У меня более 800 модульных тестовых примеров в моем приложении Grails. Я использую приведенную ниже конфигурацию для своего приложения Grails

 app.grails.version=2.4.4
  

Ниже приведены несколько строк из конфигурации запуска тестовых примеров Junit

 -Djava.library.path=./lib
-Dserver.ip=localhost
-Dserver.port=9090
-XX:MaxPermSize=512m
-Xverify:none
  

Я запускаю это приложение на компьютере с Ubuntu. Иногда при выполнении тестовых примеров возникает ошибка нехватки памяти, как показано ниже, и многое другое:

java.lang.Ошибка OutOfMemoryError: Java heap space java.lang.Class.privateGetDeclaredMethods(Class.java:2442) java.lang.Class.getDeclaredMethods(Class.java:1808)

org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46) org.codehaus.groovy.util.LazyReference.get(LazyReference.java:37) org.grails.datastore.mapping.simple.engine.SimpleMapEntityPersister $ 1.запрос (SimpleMapEntityPersister.groovy:126) `

java.lang.Ошибка OutOfMemoryError: Java heap space org.grails.datastore.mapping.simple.engine.SimpleMapEntityPersister.getPropertyIndexer(SimpleMapEntityPersister.groovy:90) org.grails.datastore.mapping.simple.запрос.SimpleMapQuery$_closure35.doCall(SimpleMapQuery.groovy:431) org.grails.datastore.mapping.simple.запрос.SimpleMapQuery.executeSubQueryInternal(SimpleMapQuery.groovy:700) org.grails.datastore.mapping.simple.запрос.SimpleMapQuery.executeSubQuery(SimpleMapQuery.groovy:676) org.grails.datastore.mapping.simple.запрос.SimpleMapQuery.ExecuteQuery(SimpleMapQuery.groovy:63) org.grails.datastore.mapping.запрос.Query.list(Query.java:542) grails.gorm.CriteriaBuilder.invokeMethod(CriteriaBuilder.java:329)

Я прошел тест управления памятью сэмплера и профилировщика, но они не смогли сильно помочь. Также в каждом тестовом классе Groovy я использую @Before @After аннотацию и для уменьшения постоянной генерации.

Есть ли что-то, чего мне не хватает? Я хочу уменьшить PermGen и навсегда избавиться от ошибки нехватки памяти.

Комментарии:

1. Grails 2.4.4 использует groovy 2.3.7 внутри, поэтому здесь нет шансов на утечку памяти!!

2. какая версия Java?

3. версия java:- 7

4. Подсказка: никогда не добавляйте больше информации в комментарии; вместо этого всегда обновляйте свой вопрос. И я не получаю ваш первый комментарий. При использовании библиотек других пользователей всегда существует (возможно, очень небольшая) вероятность того, что этот продукт приведет к утечке памяти.