我有以下课程作为我的切入点
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
RESTEasy代码的一部分。
这是因为&#39; Spring AOP无法建议实现模板界面的切入点&#39;? 有任何想法吗? Spring AOP如何为实现参数化接口的类创建代理对象?...它是使用CGLIB还是JDK代理?
答案 0 :(得分:0)
我认为你的问题出在其他地方。我用谷歌搜索你的异常
无法找到接口
的类型参数
并发现它与JBoss RESTEasy有关。尝试注释掉你的班级或方面代码的一部分,直到找到罪魁祸首。
顺便说一句,你的toResponse
实现会返回一个原始类型。将Response<Exception>
设为更加类型安全并避免警告。