Grails и динамические модификации во время выполнения - PullRequest
2 голосов
/ 29 июня 2011

Развертываемый файл Grails war-File содержит файлы groovy, а также groovy.jar.

  • Работает ли агент Groovy при развертывании приложения?
  • Возможно ли это?сделать динамические изменения для приложения через Groovy во время выполнения?
  • если да, как это можно предотвратить?

Редактировать: После развертывания войны с приложением Grails, скажем, на Tomcat: Есть ли какая-то Groovy Shell / Process / Agent, к которой может подключиться кто-то, имеющий доступ к системе?И если это возможно, может ли он вносить динамические изменения в приложение, не касаясь файлов в файловой системе?

Ответы [ 2 ]

3 голосов
/ 30 июня 2011

Вы можете использовать плагин Console , который предоставляет веб-версию Groovy Console / Grails Console. Как и приложение на основе Swing, оно имеет переменную ctx в области видимости, чтобы предоставить вам доступ ко всем компонентам Spring приложения, и оно будет запускать произвольный код Groovy в контексте вашего запущенного веб-приложения, иметь доступ к GORM и т. Д.

Очевидно, что это опасно, поэтому обязательно защитите его с помощью плагина безопасности

Я недавно написал в блоге сообщение об использовании аналогичной веб-консоли (которую я с тех пор слил в плагин) для исправления ошибки на работающем сервере: http://burtbeckwith.com/blog/?p=155

1 голос
/ 29 июня 2011

По умолчанию приложения Grails не поставляются с консолью, которая позволит вам выполнять произвольный код Groovy во время выполнения.

...