Возможно ли иметь чистое отключение в Glassfish? - PullRequest
2 голосов
/ 04 февраля 2010

Я понял, что любое приложение, использующее спящий режим, не может полностью развернуться в Glassfish 2.1.1. Многие классы остаются в памяти после процесса развертывания, вы можете проверить это с помощью jmap и jhat.

Я провел несколько тестов и выяснил, что только приложения, которые находились в режиме гибернации, не имели процесса отмены развертывания. Поставщиком моей базы данных для Hibernate во всех случаях был jTDS 1.2.5.

Вам даже не нужно запускать приложение. Если вы просто развернете и мгновенно отмените развертывание, вы обнаружите несколько классов в памяти, многие из вашего приложения и многие из hibernate и его зависимостей.

Возможно ли иметь чистое отключение в Glassfish v2.1.1? У меня все время заканчивается свободное пространство.

1 Ответ

0 голосов
/ 18 февраля 2010

Это не окончательный ответ, но он может, по крайней мере, минимизировать проблемы, связанные с незанятостью стеклянной рыбы, если вы используете hibernate:

  • Не используйте перечисления в ваших сущностях. Вместо этого создайте обычные классы.
  • Аннотировать только методы, не аннотировать свойства.

Эти два элемента могут помочь минимизировать проблемы, но не избавляют их от среды разработки. Даже если вы не используете hibernate, ваши сессионные бобы навсегда останутся в памяти даже после отмены развертывания.

...