Krz*_*soń 5 java spring spring-cache micrometer
我想@Cacheable用@Timed(从千分尺)注释我的方法。但我希望@Timed仅在数据未计时的情况下应用。有没有办法做到这一点,以正确的顺序放置注释就足够了 - 那是什么顺序?
我@Timed也在使用TimedAspect,不确定这是否相关。
现在我这样做:
@Cacheable
@Timed
public String getValue(long id) {
...
}
Run Code Online (Sandbox Code Playgroud)
我找不到任何@Cacheable可以讨论这个问题的文档。
这很棘手,因为您正在处理 Spring 围绕您的业务 bean 创建的 AOP 代理,所以我不确定您是否可以依赖注释的顺序。
我认为你有几个选择:
@Cacheable另一种方法用@Timed. 然而,我认为这对你不起作用,因为你需要多个 bean(对同一个 bean 的调用不会被 AOP 代理拦截)。因此,您需要两个 bean,一个充当外观,另一个执行@Timed您想要缓存和监视的实际昂贵的调用。@Timed,然后在您的 bean 中使用它们。我不完全确定这是否有效,因为这取决于注释的获取方式。沿着这条线的事情:指定Spring中代理创建的顺序@CacheableOrderable希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |