0

我有以下课程作为我的切入点

   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 代理?

4

1 回答 1

0

我认为您的问题出在其他地方。我用谷歌搜索了你的例外

找不到接口的类型参数

并发现它与 JBoss RESTEasy 相关。尝试注释掉部分类或方面代码,直到找到罪魁祸首。

顺便说一句,您的实现toResponse返回原始类型。这样做是Response<Exception>为了更加类型安全并避免警告。

于 2012-08-30T11:52:20.517 回答