003-Resilience4j学习

TimeLimiter

timeoutDuration : 默认 1s : 超时时间配置 (类型是 Duration)
cancelRunningFuture : 默认 true: 当 future.get 超时时候(TimeoutException),是否调用 future.cancel 取消异步任务

aop 时候 执行先后顺序说明

优先级列表

名称aop优先级(从高到底 (高的先执行))
retryAspectOrderOrdered.LOWEST_PRECEDENCE - 4
circuitBreakerAspectOrderOrdered.LOWEST_PRECEDENCE - 3
rateLimiterAspectOrderOrdered.LOWEST_PRECEDENCE - 2
timeLimiterAspectOrderOrdered.LOWEST_PRECEDENCE - 1
BulkheadAspectOrderOrdered.LOWEST_PRECEDENCE

spring 定义顺序值参考


public interface Ordered {
    int HIGHEST_PRECEDENCE = -2147483648;
    int LOWEST_PRECEDENCE = 2147483647;

    int getOrder();
}

事件 是在特定线程执行吗?

答案:

通过如下日志, 事件 在入口线程执行,而不是特定线程池执行。

demo执行日志(我测试 的是TimeLimiter 的事件)

0:53:57.863 [main] INFO com.cmic.ydrz.helloworld.resilience4j.Resilience4j1 - onSuccess:2021-07-29T00:53:57.861+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a successful call.
00:53:57.868 [main] DEBUG io.github.resilience4j.timelimiter.internal.TimeLimiterImpl - Event SUCCESS published: 2021-07-29T00:53:57.861+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a successful call.
00:53:58.871 [main] INFO com.cmic.ydrz.helloworld.resilience4j.Resilience4j1 - onTimeout:2021-07-29T00:53:58.871+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a timeout exception.
00:53:58.872 [main] DEBUG io.github.resilience4j.timelimiter.internal.TimeLimiterImpl - Event TIMEOUT published: 2021-07-29T00:53:58.871+08:00[Asia/Shanghai]: TimeLimiter 'myTimeLimiter' recorded a timeout exception.

Tags 的作用

问题
我们 在 circuitBreaker 等几个功能类都能发现 tags 参数,作用是什么呢?

回答:
应该是当作 Metrics(监控指标) 的 一些 额外tags 参数使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值