Как изменить версию Groovy, используемую в Grails 1.3.7, на версию Groovy 1.7.9?
У меня такая проблема в приложении Grails 1.3.7, в котором каждую минуту процесс Quartz создает около 500 новых объектов, таких как:
class Foo{
Bar bar
Date d = new Date()
int v
}
def f = new Foo(bar:b, v:value)
Что я наблюдаю, так это то, что при каждом запуске это занимает больше времени. Сначала это занимает несколько наносекунд, но к тому моменту, когда приложение завершает работу с ошибкой PermGen из памяти, этот процесс иногда занимает более 10 секунд ... для создания объекта!
Я взял несколько дампов кучи и обнаружил, что CallSiteClassLoader занимал огромное количество памяти у ранее установленных объектов. Прочитав эту ветку , я решил напрямую изменить заводные банки в моей WAR. Теперь приложение работает нормально, как и должно быть, и снова, после нескольких дампов кучи, утечки памяти, похоже, отсутствуют.
Но каждая генерируемая мной WAR продолжает приходить с groovy 1.7.7, и мне приходится вручную ее менять.
Спасибо!