2017-12-08 6 views
1

私は以下のようにトランザクションと私のServiceActivatorに注釈を付けるたい:私は例外をスローした後insersionsをロールバックすることを期待Spring統合:ServiceActivatorメソッドでトランザクションを実装することは可能ですか?

@ServiceActivator 
@Transactional(rollbackFor = Exception.class) 
public Message<MyResult> populate(List<Things> th) { 

// inserting in database 

// try { throwing an exception } catch... 

//doing other stuffs (insersions) 

} 

残念ながら、それは動作しません、私はデータベースにinsionsionsを持っています。

ありがとうございます。

+0

はい、動作するはずです。 '@ EnableTransactions'を' @ Configuration'クラスに追加しましたか? –

+0

明示的に行うか、メソッドから例外をスローすると、トランザクションがロールバックされます。あなたのメソッドのコードを表示します。どういうわけか私はそこに 'キャッチ'を見ます... –

+0

@ArtemBilanキャッチは私の場合の例外メッセージをログに記録します: "情報の幸運" – Belham

答えて

1

このトピックを閉じると、ここで回答が得られます。たとえそれがゲイリーラッセルからハイジャックするように見えても。私たちは同じチームのメンバーですが。

したがって、@Transactionalは、Springの他の多くの機能と同様に、を有効にしてにする必要があります。この目的のために特別な@Enable...注釈 - @EnableTransactionManagementがあります。これは、PlatformTransactionManager beanをスキャンし、@TransactionalでマークされたメソッドにAOPアドバイスを適用します。

詳細については、Reference Manualを参照してください。

関連する問題