我在String Boot rest控制器上使用@Timed批注,并且工作正常.控制器中的方法调用服务中的方法,该方法也用@Timed注释.
但是,此后续Service Bean中方法的注释不起作用(我在/ metrics中看不到结果).为什么会这样呢?可以解决吗?
解决方法:
对于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注释:
We can revisit application of @Timed via AOP or a BPP in Boot 2.1, depending on how the community reacts to the feature.