サービスの例外処理

---顔異常処理プログラムの問題が捕捉Servcie層をロールバックしません。

 0.1。*デフォルト総務春のみ()ロールバックがキャッチされないランタイムexcetpion場合に発生します。

   2. * *春AOP例外トラップ原理:メソッドは、明示的な例外がスローされる必要が傍受され、AOPプロキシが異常な方法をキャプチャするようではない任意の治療、ロールバックすることができ、

   デフォルトでは、唯一の捕獲のRuntimeExceptionのAOPの例外は、しかし、例外が捕捉されてもよいし、ロールは、サービスのメソッドを使用せずに他の言葉で、特定の構成によってバックアップしようとキャッチ

   それともと決勝でキャッチスロー)新新runtimeexcetpionは(、そのためのプログラムの例外を捕捉することと、当時のAOPを巻い*

ソリューション:

##シナリオ1:
このようなサービス層として*プロセスのトランザクションは、そのサービスが異常攻略法ではない、または最後の増加は、外出先のロールバックを聞かせてAOPキャッチ例外にcatchステートメントで新しいのRuntimeException()文を投げ、

   そして、コントローラ層は、この例外とハンドルキャッチし続けるために
##スキーム2:
setRollbackOnlyメソッド()サービス層catch文法の増加:. TransactionAspectSupport.currentTransactionStatusを() ; 文は、手動でロールバックするので、(異常上層に対処する必要はありません今プロジェクトの実践)*

 

 

おすすめ

転載: www.cnblogs.com/gujiazhouwang/p/12028713.html