Есть ли какой-нибудь обновляемый заводной загрузчик классов?

Я ищу обновляемый загрузчик классов groovy, я хочу, чтобы файл groovy менялся на лету, я знаю, что GroovyScriptEngine делает это, но если у меня есть AClass.groovy и BClass.groovy, и я пишу в AClass:

 Class pageClass = ClassUtils.forName("BClass", this.getClass().getClassLoader());

и автоматическая перезагрузка BClass не работает, когда BClass.groovy не работает.

Я думаю, что лучшим решением является необходимость обновления ClassLoader, но я не могу найти существующую реализацию.

И я не использую spring-groovy и Grails, мне нужна независимая реализация.

Спасибо


person L.J.W    schedule 01.08.2011    source источник
comment
BClass не работает, когда BClass.groovy не работает, означает, что BClass не может быть загружен, если BClass.groovy не существует?   -  person blackdrag    schedule 24.10.2011


Ответы (1)


Не совсем то, что вы хотите, я уверен, но если вы хотите сделать что-то ТОЛЬКО с Groovy (без Spring или Grails), что позволяет вам изменять вещи и не перезапускать приложение, вы можете посмотреть на выполнение некоторой начальной работы с Groovlets - > http://groovy.codehaus.org/Groovlets

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

Если вы рассматривали возможность использования Spring, bean-компоненты со сценариями являются «обновляемыми», и вы можете реализовать это самостоятельно, используя поддержку динамического языка Java, но я бы предложил просто позволить Spring сделать это за вас.

person Todd W Crone    schedule 17.01.2012