在BuildConfig.groovy中使用grails.project.fork时,“forkReserve”属性有什么作用?

时间:2016-09-02 16:45:04

标签: grails

在BuildConfig.groovy中使用grails.project.fork时,forkReserve属性有什么作用?在什么情况下需要修改它?

默认grails 2.4.5 BuildConfig.groovy

grails.project.fork = [
    // configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required
    //  compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true],

    // configure settings for the test-app JVM, uses the daemon by default
    test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
    // configure settings for the run-app JVM
    run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
    // configure settings for the run-war JVM
    war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
    // configure settings for the Console UI JVM
    console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
]

该值不在文档中。

以下是基于文档的默认条目。

grails.project.fork = [
   test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true], // configure settings for the test-app JVM
   run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256], // configure settings for the run-app JVM
   war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256], // configure settings for the run-war JVM
   console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]// configure settings for the Console UI JVM
]

1 个答案:

答案 0 :(得分:1)

forkReserve设置将启动额外的"保留" JVM在后台处于空闲状态等待。然后,当您重新启动应用程序时,将使用此空闲JVM来运行应用程序,从而避免从新应用程序启动新JVM的成本。

换句话说,它为应用程序重新启动的启动时间提供了一个小优化,您可能想要也可能不想利用它。