Bootstrap.groovy init()期间Grails内存不足 - 如何在启动后加载,但在Bootstrap init()之外

时间:2014-12-06 13:14:18

标签: grails bootstrapping

我有一个Grails应用程序,需要生成大量数据并将其加载到图形数据库中。目前,我将加载方法放在Service中,然后从Bootstrap.groovy的init()调用此服务。

import com.example.BootstrapService

class BootStrap {

    def bootstrapService // this is my service


    def init = { servletContext ->
        bootstrapService.init()
    }

    def destroy = {
    }
}

加载代码需要很长时间(分钟),并且在启动应用程序时我看到内存不足异常。

但是,如果我在控制器中包装bootstrapService.init()方法,然后在程序启动后调用它,则Grails应用程序启动正常并且init()方法运行时没有错误。

因此我相信Grails必须在init()的同时做很多其他的事情,而这正在使边缘的内存需求减少。有没有办法在程序启动后获取方法? (显然我可以增加内存需求,但应用程序是在EC2上运行,所以我希望内存要求尽可能小,以降低成本。)

0 个答案:

没有答案