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
关于来自 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