0
我遇到問題。春季AOP異常多態性
即:我使用spring aop來處理異常。其中一些是我在外部供應商交付數據損壞時引發的異常。我在指向某種類型的方面處理它們。比如這個。
@AfterThrowing(
pointcut =
"execution(*myClass.myDataProcessingMethod(..))",
throwing = "ex"
)
public void myAspectMethod(MyException ex) {
...
}
但是當壞事happends在我的數據處理工作,而不是錯誤的數據,但在我的邏輯錯誤,我想在實例予以通報。所以我有第二個方面。
@AfterThrowing(
pointcut =
"execution(*myClass.myDataProcessingMethod(..))",
throwing = "ex"
)
public void myAspectMethod(Exception ex) {
extraInformingService.informAdamAtOnce("shitjustgotreal");
}
但是,當拋出MyException時,兩個方面都會被觸發,因爲MyException是Exception的實例。
有沒有辦法只觸發指向MyException的方法?
是的,我想過這個問題,但由於存在大量的「我的」例外它將從「不太雅」長到不能接受的。無論如何:-) – 2012-04-24 17:25:16
但是,也許如果我創建抽象類,將作爲所有「我」的異常繼承的基礎,它將只在一個if語句結束。謝謝^ 2:D – 2012-04-24 17:27:44