2016-12-24 7 views
1

サービスレイヤで@Transactionalを使用する場合、PlatformTransactionManagerによって作成されたTransactionStatusインスタンスへの参照を取得するオプションはありますか?例えばSpring - TransactionalメソッドでTransactionStatusオブジェクトへの参照を取得する方法

、次のコードで:

@Transactional 
public void updateCustomer(...) { 
    // do some business stuff 
    // can we get here a reference to the TransactionStatus instance ? 
} 
+0

を?私はTransactionStatusを手動で設定したりクエリしたりすることなく、何年もトランザクションコードを書いています... – meriton

答えて

4
TransactionStatus status = TransactionAspectSupport.currentTransactionStatus(); 

currentTransactionStatus方法は、現在のメソッド呼び出しのトランザクション・ステータスを返します。

あなたが取引の結果に興味があるなら、あなたは便利afterCompletion(int status)コールバック提供TransactionSynchronizationAdapter検討することができます:あなたはそれを必要としない何

class AfterCompletionTransactionHandler 
     extends TransactionSynchronizationAdapter { 

    public @Override void afterCompletion(int status) { ... } 

} 
関連する問題