Обратите внимание, что это может быть проблемой, если у вас определено несколько пользовательских сред. Я использую Grails 2.4.4. Если у меня определено окружение mytest и myqa, BOTH будет выполняться Grails, потому что оба являются Environment.CUSTOM, то есть некоторые определения bean-компонентов перезаписаны или неправильно настроены!
grails.util.Environment.executeForCurrentEnvironment {
development {
println 'Running in DEV mode.'
}
mytest {
println 'This will be evaluated because it is CUSTOM'
}
myqa {
println 'This will ALSO be evaluated because it is CUSTOM. Yikes!'
}
}
Я не знаю, если это ошибка или дизайн. Во всяком случае, вот что я делаю, и это, кажется, работает правильно:
switch(Environment.current.name) {
case 'development':
println 'Running in DEV mode.'
break
case 'mytest':
println 'Running in mytest mode'
break
case 'myqa':
println 'Running in myqa mode'
break
}