在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
]
答案 0 :(得分:1)
forkReserve
设置将启动额外的"保留" JVM在后台处于空闲状态等待。然后,当您重新启动应用程序时,将使用此空闲JVM来运行应用程序,从而避免从新应用程序启动新JVM的成本。
换句话说,它为应用程序重新启动的启动时间提供了一个小优化,您可能想要也可能不想利用它。