spring - aspectj 注释不适用于 flink
问题描述
我创建了一个自定义注释来记录使用 aspectj 库和 spring 的方法所消耗的时间。
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyMethodPerformance {
}
@Aspect
@Component
public class MyMethodPerformanceAspect {
private static final Logger LOGGER = LoggerFactory.getLogger(MyMethodPerformanceAspect.class);
public MyMethodPerformanceAspect() {
}
@Around("@annotation(MyMethodPerformance)")
public Object logMethodPerfomance(ProceedingJoinPoint joinPoint) throws Throwable {
Object var6;
try {
Long methodStartTime = System.currentTimeMillis();
Object proceed = joinPoint.proceed();
Long methodEndTime = System.currentTimeMillis();
MethodSignature signature = (MethodSignature)joinPoint.getSignature();
MDC.put("methodName", signature.getMethod().getName());
MDC.put("className", signature.getMethod().getDeclaringClass().getName());
MDC.put("duration", Long.toString(methodEndTime - methodStartTime));
LOGGER.info("Method performance");
var6 = proceed;
} finally {
MDC.clear();
}
return var6;
}
}
我在 Spring Boot 应用程序中针对其余端点之一对其进行了测试,它工作正常。
但是当我在我的 flink 作业类中注释 map 方法时,它不起作用。
我在这里想念什么?
解决方案
推荐阅读
- python - 从测试中导入源函数的最佳方法是什么
- image - Flutter 使用 GestureDetectors 制作图像也可拖动
- java - 在 Spring Boot 中使用 SOAP API
- windows - PowerShell 终止用户的所有 RDP 会话
- linux - 在运行时查找输入字符串的字节数
- android - Bitcoinj 未与 Android 同步
- java - 如何在 url 末尾生成“lang”参数而不在 Spring 中的每个控制器中发出请求?
- excel - Excel检查单元格是否包含列表中的文本并为每个匹配项从列表中返回值
- javascript - 使用 parseInt() 和 parseFloat() 转换数字字符串会导致转换错误
- reactjs - 未加载反应/未生成构建