jck*_*yes 5 grails spring grails-orm
试图找出如何使用grails中的备用dataSource打开事务.我有以下dataSources定义...
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE"
}
dataSource_ALT {
dbCreate = "update"
url = "jdbc:h2:mem:altDb;MVCC=TRUE"
}
Run Code Online (Sandbox Code Playgroud)
我能用默认的dataSource做到这一点......
Foo.withTransaction { status ->
//...
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用ALT dataSource时,我得到一个异常 - '没有配置transactionManager bean'...
Foo.ALT.withTransaction { status ->
//...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用不同的dataSource启动事务?我已经做了一些挖掘并且找不到多少.
谢谢!
小智 0
@Raphael你的建议确实有效。我能够进入下一步并通过分配事务管理器来使 withTransaction 工作。它们似乎是被创造出来的,只是没有附着。它们以 Spring bean 的形式存在,名称类似于 transactionManager_ALT(在本例中)。不确定到底是什么创建了它们,以及为什么它们没有附加到 GormStaticApi。
即在这里你会做:
Foo["ALT"].transactionManager = transactionManager_ALT
Run Code Online (Sandbox Code Playgroud)
可能会尝试选择一个域类并分配所有不同的事务管理器,看看这是否有效,然后在任何地方使用该一个域类来启动事务。
归档时间: |
|
查看次数: |
1135 次 |
最近记录: |