doc: 阅读project reactor文档
This commit is contained in:
@@ -61,6 +61,7 @@
|
||||
- [retry](#retry)
|
||||
- [retry原理](#retry原理)
|
||||
- [retryWhen](#retrywhen)
|
||||
- [retry helper](#retry-helper)
|
||||
|
||||
# Reactor
|
||||
## Reactive Programming
|
||||
@@ -959,7 +960,11 @@ Retry周期如下所示:
|
||||
- 如果`companion flux`complete,将会对error执行swallow操作,retry cycle将会停止,并且也会导致sequence complete
|
||||
- 如果`companion flux`产生了一个error,retry cycle将会终止,并且导致sequence按异常终止
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#### retry helper
|
||||
project reactor提供了`Retry` helper,如`RetrySpec`和`RetryBackoffSpec`,二者都允许进行如下所示的自定义行为:
|
||||
- `filter`:通过filter设置`允许触发retry的异常`
|
||||
- `modifyErrorFilter`: 对之前`filter`设置的异常进行修改
|
||||
- `doBeforeRetry`和`doAfterRetry`:针对retrytrigger执行side effect
|
||||
- > `doBeforeRetry()`方法触发在delay发生之前,而`doAfterRetry()`触发在delay之后
|
||||
- `onRetryExhaustedThrow(BiFunction)`:在重试数量达到上限后,通过`onRetryExhaustedThrow(BiFunction)`来自定义异常。
|
||||
- 通常情况下,当重试数量达到上限后,自定义异常类型通过`Exceptions.retryExhausted(…)`方法来构建,其返回的异常类型为`RetryExhaustedException`,可以通过`Exceptions.isRetryExhausted(Throwable)`方法来进行区分
|
||||
Reference in New Issue
Block a user