ポイントカットとして次のクラスがあります
public class GenricExceptionMapper implements ExceptionMapper<Exception> {
Logger logger = Logger.getLogger(GenricExceptionMapper.class);
public Response toResponse(Exception exception) {
logger.error(exception.getStackTrace());
logger.info("Exception Thrown");
String res="500 - Internal Server Error";
exception.printStackTrace();
logger.debug("Sending Http Response :"+res);
return Response.status(500).entity(res).build();
}
}
そして、それに対して定義された次のアドバイス...
@Aspect
public class ExceptionMapperAspect {
Logger logger = Logger.getLogger(ExceptionMapperAspect.class);
//@Context HttpServletRequest servletRequest;
@AfterReturning( pointcut="execution(* toResponse(..))")
public void logExceptionAspect()
{
//logger.info("statsKey in request object "+servletRequest.getAttribute("statsKey"));
}
これを実行しようとすると、次の例外エラー メッセージが表示されます。
**
インターフェース javax.ws.rs.ext.ExceptionMapper の型引数が見つかりません
** このクラスによってエラーがスローされてい ます http://grepcode.com/file/repo1.maven.org/maven2/org.jboss.resteasy/resteasy-jaxrs/2.2.2.GA/org/jboss/resteasy/ util/Types.java#Types.getActualTypeArgumentsOfAnInterface%28java.lang.Class%2Cjava.lang.Class%29
RESTEasy コードの一部。
これは、「Spring AOP はテンプレート インターフェイスを実装するポイントカット クラスをアドバイスできない」ためですか? 何か案は?Spring AOP は、パラメータ化されたインターフェースを実装するクラスのプロキシ オブジェクトをどのように作成しますか?...CGLIB または JDK プロキシを使用しますか?