grails如何处理动态类重新加载

时间:2011-03-16 20:18:56

标签: grails

grails如何处理动态类重新加载?

2 个答案:

答案 0 :(得分:1)

我做了一点挖掘,现在这可能不完美,不会包含所有细节,但是在广泛的层面我认为这是正在发生的事情:

  1. 每隔X秒运行一个线程,该线程会检测Grails工件(域,服务,控制器)是否有任何更改,可以包含自定义工件。
  2. 如果一个工件已被更改,那么运行这段代码,我觉得这很神奇:

    GroovyClassLoader gcl = new GroovyClassLoader(application.getClassLoader()); initialisePlugin(gcl.parseClass(DefaultGroovyMethods.getText(conn.getInputStream())));

  3. 我通过查看作为grails core的一部分的DefaultGrailsPlugin得到了这个。

    Grails中的所有内容都被视为插件,甚至服务,域,控制器等等。

答案 1 :(得分:0)

使用自定义ClassLoader。可能模糊一个问题,并且需要对SO这样的网站的答案过于深入。可能更适合Grails邮件列表。