我的应用程序中有多个数据源,并且我希望能够将服务类上的数据源从默认类切换到另一类(以便它与我的Grails域匹配)。根据文档规定使用:
static datasource = 'dsName'
我已经完成的服务类的属性。但是,mainTransactionManager仍在使用我的默认数据源。
我可以在ChainedTransactionManager中看到它的调用:
MultiTransactionStatus mts = new MultiTransactionStatus(transactionManagers.get(0));
transactionManagers内的第0个索引包含我的默认数据源...所以我如何确保不使用包含默认数据源的事务管理器?
Grails在哪里/何时阅读
static datasource = '...'
属性?
基本上,我只想在我的服务和域中排列数据源。
最佳答案
Where/when does Grails read the
static datasource = '...'
该属性在https://github.com/grails/grails-core/blob/bd7cc10e17d34f20cedce979724f0e3bacd4cdb4/grails-plugin-services/src/main/groovy/org/codehaus/groovy/grails/plugins/services/ServicesGrailsPlugin.groovy#L74中读取
那是在https://github.com/grails/grails-core/blob/bd7cc10e17d34f20cedce979724f0e3bacd4cdb4/grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/DefaultGrailsServiceClass.java#L40调用
getDatasource
方法。
关于grails - Grails 2.5在服务类上设置数据源不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46717190/