Мне нужно прочитать данные из базы данных, которые нужно прочитать в Config.groovy.Возможно ли считывать данные из базы данных в Config.groovy?
Возможно ли получить данные из базы данных в Config.groovy?
Мне нужно прочитать данные из базы данных, которые нужно прочитать в Config.groovy.Возможно ли считывать данные из базы данных в Config.groovy?
Возможно ли получить данные из базы данных в Config.groovy?
Нет, это невозможно. В последовательности событий, когда приложение Grails запускается, Config.groovy обрабатывается до того, как Datasource становится доступным для приложения.
Не зная, чего вы пытаетесь достичь, я не могу сделать предложение о том, как еще подойти к этой проблеме.
Обновлено (основано на комментарии)
В вашем комментарии вы объясните, что вы пытаетесь использовать переключатель функции плагину (который предназначен для запуска времени и не постоянен). Рассматривая source code для плагина, вы должны иметь возможность создать собственную службу, которая будет загружать настройки из базы данных и переключать/обновлять настройки переключателя функций. Вот простой пример/пример:
package example
import org.springframework.beans.factory.InitializingBean
class MyExampleService implements InitializingBean {
def grailsApplication
void afterPropertiesSet() {
// here is where you would do whatever you needed to load the settings
grailsApplication.config.features['somefeature'].enabled = true
grailsApplication.config.features['otherfeature'].enabled = false
}
}
Это должно по крайней мере дать вам представление.
В качестве альтернативы вы можете просто написать все это в Bootstrap.groovy
, которое также может получить доступ к источнику данных/GORM.
Ну, есть плагин Feature Switch для grails (https://github.com/antony/grails-feature-switch/blob/master/README.markdown) ... Но это не настойчиво, поэтому каждый раз, когда я перезапустите сервер, значение переходит к значению по умолчанию. Я хотел сделать этот плагин постоянным. Проблема в том, что он настроен на Config.groovy ... У вас есть ссылка на ту информацию, которую вы сказали о том, как Config обрабатывается до источника данных? – Igor
См. Мое редактирование/обновление. –
Я видел ваше обновление. Это действительно сработало. Спасибо огромное! В любом случае, чтобы переопределить контроллер? Потому что теперь мне нужно обновить базу данных, когда пользователь переключает эту функцию с экрана, который они предоставляют с localhost: 8080/your-app/admin/features – Igor