【发布时间】:2018-08-10 09:21:37
【问题描述】:
Spring Boot(Micrometer 的一部分)中的@Timed 注解有几个字段。其中之一是:
double[] percentiles() default {};
我想将这个值在整个代码库中设置一次到不同的数组,比如:
new double[] { 0.0, 50.0 };
这可以通过我所知道的两种方式之一来实现:
-
在每个实例上设置字段:
@Timed(percentiles = new double[] { 0.0, 50.0 }) 使用
@AliasFor或元注释来创建具有所需值的不同注释。
我也遇到过AnnotationUtils 类,但看不到如何实现我的目标。
在 Spring Boot 中执行此操作的标准方法是什么?如果在 Spring Boot 中做不到,那如何利用 JDK 自带的反射能力呢?
【问题讨论】:
-
执行此操作的标准方式是“不”。该默认值是设计使然,这是因为他们希望将其作为默认值
-
@Stultuske 有一个默认值可以更改。在您的统计数据中没有百分位数是完全没有用的。该值旨在被覆盖。
-
是的,但并非针对所有可能的情况,那时它不再是默认值。除非实现选择了另一个值,否则默认值是备用值
标签: java spring-boot reflection annotations micrometer