0

我有一个具有请求范围的 bean,其中有一个用 micrometer(io.micrometer.core.annotation) @Timed 注释的方法,但它没有显示在指标中。它显示 bean 是否在默认范围内(单例)。

@RequestScope
@Component
public class MyTask {
 //some local variables here
public MyTask() {
  //some unhelpful stuff
}
    @Timed(value = "mappingTask")
    @Override
    public void map(List<MyPojo> myApps) {
      //Some process
}

}

它不应该与请求范围一起使用还是我缺少什么。

4

1 回答 1

0

取自:Micrometer github问题

原始问题/问题:

@Timed 放置在任意 Spring 管理的 bean 的方法上会被静默忽略。

这是千分尺的回应:

TimedAspect 方面现在存在于 micrometer-core 中,但不会在 Spring Boot 2 或 micrometer-spring-legacy 中自动配置。我们可以通过 AOP 或 Boot 2.1 中的 BPP 重新访问 @Timed 的应用程序,具体取决于社区对该功能的反应。

手动配置:

@Configuration
@EnableAspectJAutoProxy
public class AutoTimingConfiguration {
   @Bean
   public TimedAspect timedAspect(MeterRegistry registry) {
      return new TimedAspect(registry);
   }
}

我不确定这是您的问题,但值得一试。

于 2019-06-04T23:08:52.670 回答