我在String Boot rest控制器上使用了@Timed
注解,并且工作正常。控制器中的方法调用服务中的方法,该方法也用@Timed
注释。
但是,此后续Service Bean中方法的注释不起作用(我在/metrics
中看不到结果)。为什么会这样呢?可以解决吗?
答案 0 :(得分:4)
根据Support for @Timed in any Spring-managed bean #361,您可以通过手动注册TimedAspect
来获得此行为。
@Configuration
@EnableAspectJAutoProxy
public class AutoTimingConfiguration {
@Bean
public TimedAspect timedAspect(MeterRegistry registry) {
return new TimedAspect(registry);
}
}
请注意,按照#361中的jkschneider注释:
根据社区对此功能的反应,我们可以通过Boot 2.1中的AOP或BPP重新访问@Timed的应用程序。