Приложение Google App Engine с развертыванием JPA
У меня есть Java-приложение для GAE с datanucleus в качестве поставщика JPA. При развертывании локально на моем компьютере - развертывание зависает (занимает несколько минут). Глядя на диспетчер задач, у меня запущен процесс javac. Любая идея, что происходит не так?
Ответы
Ответ 1
Согласен. Его проблема с GAE, поскольку она принимает 6permutation Compilation, после чего приложение будет развернуто и показано в браузере. Я чувствую, что это проблема только с GAE, а не с JPA. Я разработал аналогичное приложение, и если вы чувствуете его из-за JPA, вы можете проверить соответствующий администратор базы данных, чтобы узнать, сколько потоков открывается для пользователя. Если вам кажется, что некоторые не собирают мусор, проверьте свой код. Кроме того, вы можете использовать механизм ConnectionPooling (для ускорения поиска db с использованием ORM).....
Ответ 2
Ответ зависит от нескольких параметров
- Как вы развертываете, используете ли вы eclipse или командную строку?
- версия GAE (и версия плагина eclipse GAE/GWT)
- Windows или Linux?
В любом случае, Thread Dump может помочь увидеть, какие потоки не-демона застряли.
Для командной строки развертывание в Windows - нажмите Ctrl Break после зависания, чтобы получить дамп потока
В Eclipse, если есть способ развертывания в режиме отладки, посмотрите на стек отладки для той же информации
См. Также этот ответ: Как заставить дамп потока в Eclipse?
Ответ 3
Эта вещь зависит от платформы, использующей
- для Windows
- Linux
- mac os x
вы можете проверить, что происходит с помощью checkignal
отправка сигнала
Usage:
SendSignal <pid>
<pid> - send ctrl-break to process <pid> (hex ok)
You can get the source via anonymous CVS at
cvs -d :pserver:[email protected]:/code-cvsroot co 2003/SendSignal
Ответ 4
Недавно я развернул свое простое приложение в движке Google через eclipse. Не удалось развернуть пару раз. после того, как когда-нибудь, успешно развертывается. Я смог получить доступ к приложению. если он зависает, остановите процесс развертывания и повторно выполните