Java + Micrometer @Timed 注释 + Spring 反应式 @Repository 可能吗?

Java + Micrometer @Timed annotation + Spring reactive @Repository possible?

关于来自 Micrometer 的 @Timed 注释的小问题,以及如何将它与来自 Spring 的 reactive @Repository 一起使用。

我有一个非常简单的@Repository 接口,甚至没有自定义查询。

@Repository
public interface MyRepository extends ReactiveCassandraRepository<MyPojo, String> {

这里的示例是反应式 Cassandra,但任何 反应式 存储库都可以。

我想为默认方法的执行计时,save、findById、findAll,基本上,@Repository 提供的所有简单方法。

时间是指插入数据或检索数据所花费的实际时间。

(这对于查看随时间推移、高负载等情况下的读写性能特别有用...)

因此,我满怀希望地尝试了:

@Repository
@Timed("mysupertimer")
public interface MyRepository extends ReactiveCassandraRepository<MyPojo, String> {

但遗憾的是,它不起作用。 为了避免混淆,它不适用于存储库方法。 我在我的@Controller 层和@Service 层的不同位置有@Timed,我看到所有其他指标都很好。

另外,我真的很希望得到关于注释@Repository 的答案。我知道我可以@Timed“我项目中调用存储库的所有地方”,但我有 300 次调用存储库,需要向任何未来的贡献者解释以注释他的调用。

直接在@Repository 层上的解决方案会很棒。

非常感谢!

现在可以使用最新版本的 Spring Boot 2.5.0

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes#timed-metrics-with-webflux