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