【发布时间】:2016-03-14 04:42:36
【问题描述】:
我有一个定义端点的弹簧控制器
@RequestMapping(value = "/hello", method = RequestMethod.POST)
@ResponseBody
public Map<String, String> hello() {
.....
}
在我的方面类中,我有,
@Around("execution(* org.example.metrics.dropwizard.SampleController.hello(..))")
public Object aroundCallingHello(ProceedingJoinPoint joinPoint) throws Throwable
{
}
可以说,我的端点将一个 java 对象作为参数(POST 调用)保存在数据库中。 来自网页的请求采用 JSON 格式。如果 JSON 结构与 JAVA POJO 结构不匹配,则会抛出异常。但我无法在 Aspect 类中捕获该异常(aroundCallingHello 方法不起作用)。如何在 AOP 中捕获此类异常(请求甚至没有到达控制器中的端点)。我需要跟踪应用程序中的各种异常。谢谢你。
【问题讨论】:
-
你能在
aroundCallHello方法中显示代码吗? -
`try{ System.out.println("Chiru at aroundCallingHello !!!"); counterService.increment("method.invoke.hello");返回 joinPoint.proceed(); }
-
请看这个:`try{ System.out.println("at aroundCallingHello !!!"); counterService.increment("method.invoke.hello");返回 joinPoint.proceed(); } catch(Throwable tr) { System.out.println("at catch aroundCallingHello !!!"); } ` 没有任何语句在控制台中打印
-
我收到了一些请求的 JsonGenerationException 异常,我需要将这些请求记录在 Aspect 类的计数器中。任何建议表示赞赏。谢谢!
标签: json spring-boot spring-aop