java - Aspectj 围绕字段和类初始化的建议

标签 java aspectj

我正在为我的应用程序实现某种监控框架。基本思想是使用 Aspectj 编写一段代码,通过 JMX 公开带有某些注释的变量。 所以我使用切入点

@Around("get (@mypackage.Gauge * *) && @annotation(annotation)")

但是,为了通过 JMX 公开我的变量,我需要获取它的值一次(以便发生 JMX 绑定(bind))。我使用编译时编织。有什么方法可以在加载带有 @Gauge 注释的类后执行特定的代码吗?

最佳答案

Is there any way that i can execute a certain piece of code once the class with @Gauge annotation is loaded?

是的。试试这个:

after() : staticinitialization(@Gauge *) {
    // Do something here
}

关于java - Aspectj 围绕字段和类初始化的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15501701/

相关文章:

java - 使用 aop.xml 在 AspectJ 中编织加载时间

java - 检索使用 ScheduledExecutorService 计划的任务实例

java - 当库使用 gradle 使用 SPI 时,如何正确输出 META-INF?

java - Python 的检查样式

java - 田野的 Spring 方面

java - Spring 乐观锁定 :How to retry transactional method till commit is successful

java - 使用其他 jar 的方面

java - 寻找 AspectJ 解析器

java - 在Java中的某个指定时间限制后杀死线程

java - Keycloak 强制刷新 token