【问题标题】:How does grails handle dynamic class reloadinggrails如何处理动态类重载
【发布时间】:2011-03-16 20:18:56
【问题描述】:

grails 如何处理动态类重载?

【问题讨论】:

标签: grails


【解决方案1】:

我做了一些挖掘,现在这可能并不完美,并且不会包括所有的小细节,但是在广泛的层面上,我认为这就是发生的事情:

  1. 每隔 X 秒运行一个线程,该线程检测 Grails 工件(域、服务、控制器)是否有任何更改,可以包含自定义工件。
  2. 如果工件已被更改,则运行这段代码,我认为它具有魔力:

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

我是通过查看 DefaultGrailsPlugin 得到的,它是 grails 核心的一部分。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      相关资源
      最近更新 更多