我试图劫持/拦截 EclipseLink 中的一个类的方法。我曾尝试过 Spring AOP 和 AspectJ,但失败了。我想org.eclipse.persistence.internal.localization.i18n.TraceLocalizationResource
在调用方法时类抛出异常时做一些事情getString(..);
我的实现如下:
@AfterThrowing(pointcut = "execution(* org.eclipse.persistence.internal.localization.i18n.TraceLocalizationResource.getString(..))",throwing="error")
public void logAfterThrowing(JoinPoint joinPoint,Throwable error) {
....
}
并调用了 calss TraceLocalizationResource
(我对其进行了调试)。但是劫持方法没有被调用。
我的问题:
- 我做错了吗?
- 我们要劫持或拦截的目标类必须是自定义类型?
- 如果我想劫持 JDK 中的一个类,比如 java.lang.String 怎么办?