Что ограничивает «горячее развертывание»? - PullRequest
0 голосов
/ 11 июня 2009

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

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

Однако, если вы используете язык сценариев поверх Java - Groovy, JRuby, Jython - вы больше не сможете выполнять горячее развертывание (по крайней мере, на Jetty).

Что может быть технической причиной для этого?

Ответы [ 2 ]

2 голосов
/ 12 июня 2009

Я могу думать о двух причинах:

  1. Если изменился только ваш сценарий, как ваше приложение узнает, что оно должно перезагрузить сценарии? Они обрабатываются как обычные ресурсы. Контейнер не знает, что сервлет должен быть развернут из-за изменения ресурсов.
  2. Другая возможность заключается в том, что вы сохраняете ScriptEngine в сервлете в качестве переменной экземпляра. Таким образом, сервлет не может быть заменен из-за этой зависимости от объекта экземпляра, который не может быть восстановлен.
0 голосов
/ 15 июня 2009

Вы когда-нибудь оценивали JavaRebel ? Они утверждают, что их развертывание - это их бизнес (хорошо работает и под Tomcat, и под Jetty).

...