Springトランザクション管理を使用するJavaとScalaの混合プロジェクトがあります。Springアスペクトを使用して、@Transactional注釈付きメソッドでファイルを織ります。
問題は、ScalaクラスがSpringトランザクションの側面と織り交ぜられていないことです。Scalaでのトランザクションを考慮するようにSpringを構成するにはどうすればよいですか?
Springトランザクション管理を使用するJavaとScalaの混合プロジェクトがあります。Springアスペクトを使用して、@Transactional注釈付きメソッドでファイルを織ります。
問題は、ScalaクラスがSpringトランザクションの側面と織り交ぜられていないことです。Scalaでのトランザクションを考慮するようにSpringを構成するにはどうすればよいですか?
Spring は、Spring 管理の Bean で開始するトランザクション境界を必要とするため、これにより@Transactional
Scala クラスが除外されます。
簡単な解決策は@Transactional
、Spring Bean としてインスタンス化された Java クラスであるサービス ファサードを作成することのようです。これらは、Scala サービス/コア コードに委譲できます。
Scala のみの解決策は、手動トランザクションを作成する Eberhard Wolff のクロージャを使用することです。使用法:
transactional() {
// do stuff in transaction
}
ここにあります: http://www.slideshare.net/ewolff/scala-and-spring (スライド 41)
ライセンス: アパッチ