Изменение отличного кода во времени выполнения в приложении чаш Грааля

Когда я запускаю свое приложение чаш Грааля с помощью встроенного гагатового сервера (кот для чаш Грааля 1.2), я могу внести изменения в свои контроллеры, сервисы и другие файлы Java на лету во времени выполнения, не перезапуская приложение. Как я могу достигнуть той же функциональности на своем приложении, развернутом на Tomcat (или какой-либо сервер) в этом отношении. Я заметил, что взорванная военная папка под веб-приложениями имеет gsp файлы, но не отличные файлы.

9
задан Paras 3 May 2010 в 19:44
поделиться

2 ответа

Завершение Эри c, вы не можете на лету изменять исходный код в производственной среде. Однако, если вы действительно хотите изменить свой код в реальном времени, вы можете:

  1. Изменить класс groovy, скомпилировать его, заменить файл .class в папке взорванной войны и перезапустить tomcat (я знаю, я знаю, это болезненно, но я не знаю лучшего способа)
  2. Для gsp файлов есть хитрость. добавьте в свой файл Config.groovy следующее свойство: grails.gsp.enable.reload = true . Это позволит вам «на лету» изменять файл gsp. Будьте осторожны, так как это снизит производительность. Подробнее см. здесь
9
ответ дан 4 December 2019 в 15:12
поделиться

Когда вы упаковываете приложение в WAR, файлы Groovy компилируются в байткод Java (файлы .class) и включаются в WAR. Горячая замена файлов во время выполнения не подходит для производственного использования из-за утечек памяти.

3
ответ дан 4 December 2019 в 15:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: