我想遍历当前环境的所有可用dataSource,以尝试查看其中是否包含特定的域实例。每个环境都有不同的数据源。
到目前为止,我掌握的最好的是grailsApplication.config.findAll { it.key.contains('dataSource_') }
。有没有更好或更合理的方法来做到这一点?
最佳答案
您还可以在应用程序上下文中查询bean名称。
就像是
ctx.beanDefinitionNames.findAll {it.contains('dataSource')}
至少这就是Datasources插件中的DatasourcesUtils所做的-
http://plugins.grails.org/grails-datasources/trunk/src/groovy/com/burtbeckwith/grails/plugin/datasources/DatasourcesUtils.groovy