grailsで代替データソースを使ってトランザクションを開く方法を理解しようとしています。私は、定義された以下のデータソースを持っている...grails 'withTransaction' with alternate dataSource
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE"
}
dataSource_ALT {
dbCreate = "update"
url = "jdbc:h2:mem:altDb;MVCC=TRUE"
}
私は、デフォルトのデータソースでこれを行うことができるよ...
Foo.withTransaction { status ->
//...
}
しかし、私はALTデータソースでそれを試してみて、行うとき、I例外が発生しました - 'No transactionManager bean設定済み' ...
Foo.ALT.withTransaction { status ->
//...
}
別のデータソースを使用してトランザクションを開始する方法はありますか?私はいくつかの掘り出し物をして、多くを見つけることができていない。
ありがとうございます!
私はこれを試していませんが、サポートされていないと、grails 2で複数のデータソースを追加する際のバグや欠落した要件のようです。ドメインオブジェクトに対して '.withTransaction'を使用する回避策を使用する必要があります情報元。 – krock
ショートカットを使用しない場合は機能しますか? 'DEF sessionFactory_ALT DEF doStuff(){ DEF TX = sessionFactory_ALT.currentSession.beginTransaction() tx.commit() tx.rollback() 等...} ' – Raphael