Tôi đang cố gắng để cấu hình mùa xuân để nó thực hiện lời khuyên khi một lớp con ngoại lệ cụ thể (MyTestException
) được ném:Spring AOP và ngoại lệ Chặn
public class MyTestExceptionInterceptor implements ThrowsAdvice {
public void afterThrowing(Method method, Object[] args, Object target, Exception exc) {
// I want this to get executed every time a MyTestException is thrown,
// regardless of the package/class/method that is throwing it.
}
}
Và cấu hình XML:
<bean name="interceptor" class="org.me.myproject.MyTestExceptionInterceptor"/>
<aop:config>
<aop:advisor advice-ref="interceptor" pointcut="execution(???)"/>
</aop:config>
Tôi có cảm giác rằng tôi nên sử dụng công cụ chỉ định điểm số target
(thay vì execution
) vì - theo số Spring docs - có vẻ như là target
cho phép tôi chỉ định loại ngoại lệ để đối sánh lại t, nhưng tôi không chắc chắn nếu đó là sai, hoặc những gì thuộc tính pointcut
của tôi cần phải như thế nào.
tôi sẽ rất muốn giữ cấu hình AOP thực hiện trong XML (như trái ngược với Java/chú thích, nhưng tôi có thể có thể dịch một giải pháp chú thích dựa vào XML nếu cần thiết.