作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个自定义 AOP 方法处理程序,并且我有两个具有不同注释的方法:
@AfterReturning(value = "@annotation(Metric)", returning = "response")
public void afterReturning(JoinPoint joinPoint, ResponseWithStatus response) {
final Signature signature = joinPoint.getSignature();
final int responseStatus = response.getStatus();
metrics.putIfAbsent(signature, resultCounters);
if (responseStatus == ResponseStatus.SUCCESS.getValue()) {
System.out.println("Method " + signature + " returned its result");
metrics.get(signature).get(SUCCESS).increment();
} else if (errorCodes.contains(responseStatus)) {
System.out.println("Method " + signature + " returned error");
metrics.get(signature).get(ERROR).increment();
} else if (businessErrorCodes.contains(responseStatus)) {
System.out.println("Method " + signature + " returned business error");
metrics.get(signature).get(BUSINESS_ERROR).increment();
}
}
@AfterThrowing(value = "@annotation(Metric)", throwing = "exception")
public void afterThrowing(JoinPoint joinPoint, Exception exception) {
final Signature signature = joinPoint.getSignature();
final Class<? extends Exception> exceptionClass = exception.getClass();
final String exceptionName = exceptionClass.getName();
metrics.putIfAbsent(signature, resultCounters);
if (exceptionClass.equals(ValidationWebFault_Exception.class)) {
System.out.println("Method " + signature + " threw " + exceptionName);
metrics.get(signature).get(ERROR).increment();
}
}
但是我的方法仅由 @AfterThrowing
方法处理。我如何将它们用于一个注释?
最佳答案
我已经自己解决了这个问题。我只需要在 afterReturning()
方法中使用 Object response
而不是 ResponseWithStatus response
关于java - AspectJ 和 Spring AOC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62026595/
我正在编写一个自定义 AOP 方法处理程序,并且我有两个具有不同注释的方法: @AfterReturning(value = "@annotation(Metric)", returning = "r
我写了一个函数来检查数据是否正确。要求如下: byr-(出生年份)——四位数字;至少 1920 年,最多 2002 年。 iyr(发行年份)——四位数;至少 2010 年,最多 2020 年。 eyr
我是一名优秀的程序员,十分优秀!