我最近发布了一个关于多个数据源的问题。事情进展顺利,直到我遇到这个问题:
控制器
def doSomething() {
def user=userService.getCurrentUser()
}
服务
class UserService {
def getCurrentUser() {
def principal = springSecurityService.principal
String username = principal.username
return find(username)
}
def find(String user) {
return User.find{username==user}
}
}
以前在单个DataSource上工作过但现在启用了两个,我在浏览器上看到了这个:
错误500:内部服务器错误URI / xxx / xxx类 org.springframework.beans.factory.NoUniqueBeanDefinitionException 消息没有类型的限定bean [org.springframework.transaction.PlatformTransactionManager]是 已定义:预期单个匹配bean但找到3: transactionManager的,transactionManager_countrycity,$ primaryTransactionManager
答案 0 :(得分:1)
好的,现在已经解决了。
我认为我发现了这个问题:如果你有这个导入,请在grails 3下有多个数据源:
导入org.springframework.transaction.annotation.Transactional
您将遇到上述问题:
如果你有:
事情将按预期发挥作用。我没有注意,让我们选择错误的声明导入grails.transaction.Transactional