You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WildFly 28中Micrometer @Counted注解未被识别,编程方式却正常?

问题:WildFly 28中Micrometer @Counted注解不生效,但编程式调用正常

我正在将应用升级至WildFly 28,其中MicroProfile Metrics已被Micrometer替代。我尝试在方法上添加Micrometer的@Counted注解,写法和之前用MicroProfile Metrics时很像:

@Counted(value = "xxxxx_api_ping", description = "Hvor mange ping-kall gjennom api.")
@GET
public Response ping() {
  ...
}

但这个注解似乎没被识别;不过通过编程方式调用MeterRegistry却能正常工作:

@Inject
private MeterRegistry registry;

@GET
public Response ping() {
  registry.counter("dummy").increment();
  ...
}

@Counted注解按理说应该可行,对吧?


解决步骤

  1. 确认@Counted的包路径正确
    确保你用的是Micrometer的注解:io.micrometer.core.annotation.Counted,不要和MicroProfile Metrics的jakarta.metrics.annotation.Counted混淆,后者在WildFly 28中已被替换。

  2. 确保依赖配置正确
    在项目pom.xml中引入Micrometer核心依赖及Jakarta适配包(适配WildFly 28的Jakarta EE环境):

    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-core</artifactId>
        <version>1.12.0</version> <!-- 选择与WildFly 28兼容的版本 -->
    </dependency>
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-jakarta</artifactId>
        <version>1.12.0</version>
    </dependency>
    
  3. 确保类被CDI托管
    Micrometer的注解依赖CDI拦截器实现,所以你的JAX-RS资源类需要添加CDI作用域注解,比如@RequestScoped或@ApplicationScoped:

    @RequestScoped
    @Path("/ping")
    public class PingResource {
        @Counted(value = "xxxxx_api_ping", description = "Hvor mange ping-kall gjennom api.")
        @GET
        public Response ping() {
          ...
        }
    }
    
  4. 验证WildFly中Micrometer扩展已启用
    检查WildFly是否开启了Micrometer扩展,执行以下命令确认:

    ./bin/jboss-cli.sh -c "extension ls" | grep micrometer
    

    如果未启用,执行命令添加扩展:

    ./bin/jboss-cli.sh -c "extension add --name=org.wildfly.extension.micrometer"
    
  5. 检查注解属性配置
    若需要统计异常调用次数,可添加recordFailures = true(默认仅统计成功调用),基础计数场景默认配置即可,也可显式指定:

    @Counted(value = "xxxxx_api_ping", description = "Hvor mange ping-kall gjennom api.", recordFailures = true)
    

完成以上步骤后,@Counted注解即可正常生效,自动统计方法调用次数。

内容的提问来源于stack exchange,提问作者thoredge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:52:39