Отключение Spring Roo в STS, но по-прежнему использование из командной строки

Время от времени кажется, что STS зависает или освобождается при работе в веб-приложении Spring Root. Иногда может пройти десять или двадцать минут, прежде чем пользовательский интерфейс позволит вам действительно что-либо сделать, кроме как замедлиться и поставить в очередь действия.

Мы отследили все публикации / отчеты об ошибках о сообщениях «Обработчик изменений JPA (ожидание)» и проблемах AspectJ, но реального постоянного решения не нашлось. Иногда, когда мы обновляем Eclipse или Roo, дела на какое-то время становятся лучше.

Мы надеемся выяснить, действительно ли это проблема Roo или проблема Spring / AspectJ.

Вопрос: Можно ли отключить Roo в среде IDE, но при этом он будет нормально собираться и работать в среде IDE, только не Roo smarts?

Я думал, что мне просто пришлось удалить «Roo Nature» для проекта, но это, похоже, не полностью помогает - Roo Shell продолжает открываться, когда я выполняю обновление Maven.

Если нет, мы, вероятно, рассмотрим путь рефакторинга push-in - но это действительно улица с односторонним движением.

В нашем веб-приложении около 20 доменных объектов и 30 контроллеров - оно не крошечное, но и не огромное. Мы также используем JPA / Hibernate.

Спасибо - Ричард


person Richard Mixon    schedule 11.09.2015    source источник
comment
Хорошей проверкой будет захват нескольких дампов потоков (с использованием jps и jstack), пока STS работает так медленно. Это может дать намек на то, что происходит за кулисами.   -  person Martin Lippert    schedule 13.09.2015


Ответы (1)


Мы столкнулись с той же проблемой. Похоже, что поддержка Eclipse в JPA Daly, включенная в WTP, генерирует множество уведомлений JPA Event Change при компиляции проекта. Похоже, что в проектах с аспектами, таких как Roo, это поведение еще хуже и делает использование IDE очень медленным и даже иногда зависает.

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

  1. Перейдите в папку установки STS / Eclipse.

  2. Выполните следующую команду:

    rm -rf plugins / org.eclipse.jpt. features / org.eclipse.jpt. **

Мы также обнаружили еще одну проблему с подключаемым модулем Eclipse AspectJ (https://issuetracker.springsource.com/browse/STS-4037), что приводило к компиляции всего проекта при каждой модификации в любой класс Java в проекте с примененными аспектами. Это решено в последних версиях STS, но проверьте это на всякий случай, выполнив следующие действия:

  1. Перейдите в меню Проект> Свойства> Компилятор AspectJ.

  2. Убедитесь, что свойство конфигурации Other> Outxml отключено.

person Cèsar    schedule 14.09.2015