Могу ли я перечислить все доступные источники данных? - PullRequest
1 голос
/ 14 марта 2012

Я хотел бы перебрать все доступные источники данных для текущей среды, пытаясь определить, содержит ли какой-либо из них конкретный экземпляр домена.Каждая среда имеет разные источники данных.

Лучшее, что я до сих пор взломал, это grailsApplication.config.findAll { it.key.contains('dataSource_') }.Есть ли лучший или более законный способ сделать это?

1 Ответ

2 голосов
/ 14 марта 2012

Вы также можете запросить имена бинов в контексте приложения.

Что-то вроде

ctx.beanDefinitionNames.findAll {it.contains ('dataSource')}}

По крайней мере, это то, что делает плагин DatasourcesUtils в плагине Datasources -

http://plugins.grails.org/grails-datasources/trunk/src/groovy/com/burtbeckwith/grails/plugin/datasources/DatasourcesUtils.groovy

...