欢迎进入Wiki » FAQ » 如何使用Grails交互模式提升工程启动速度?

如何使用Grails交互模式提升工程启动速度?

在2013-12-20 17:00上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

Grails 2.0 后,新增了一种交互模式,用于启动工程、执行命令。

交互模式下,run-app 然后 stop-app 后,由于大量的信息(包括类里的静态变量)依然会缓存在内存里,因此再次 run-app 时,启动速度和运行速度会有很大的提升。

BroFramework、BroBPM 目前也可以支持交互模式的启动,并且做了一些额外的优化,比如第二次 run-app 时,流程定义不会重新解析了。

使用交互模式的步骤:

  • 如果工程未编译,先编译一下 g compile
  • 不带参数运行 g,进入交互模式
  • 运行 run-app,停服务器运行 stop-app,退出为 exit 或者 Ctrl+C

不过交互模式也并非完美,比如:

  • 如果反复出现莫名的错误,导致运行不正常,一般可以 exit 后,重新编译一下再启动
  • 内存消耗比较大,多次启停后,如果发现速度明显变慢,可以先 exit 后重新启动
  • 某些 java/groovy 类无法热加载,除非 exit

此外,如果需要在应用中判断是否是通过交互模式启动的,有两种方式:

  • bropen.toolkit.utils.grails.GrailsUtils.isInteractiveMode()
  • "true".equals( System.getProperty("grails.interactive.mode.enabled") )
标签: grails BroFramework
在2013-12-20 10:49上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号