reactor之hooks
Posted aofengdaxia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reactor之hooks相关的知识,希望对你有一定的参考价值。
Hooks 是一个工具类,它提供了一些方法,用来在 Reactor 的各个阶段添加回调函数,进行全局性的操作。总体来说分为三类:
本部分算是reactor中比较高级的部分,建议在开始上手用reactor做项目前,大概知道有这么一个概念即可。
做了一两个项目以后,再回头来看看hooks是做什么的即可
常用的Hooks类型
- 丢弃事件的Hooks
- 错误处理Hooks
- 组装Hooks
丢弃事件的Hooks
当事件被丢弃时,会调用相应的回调函数。主要包括两个方法:
- onNextDropped
- onErrorDropped
demo
Hooks.onNextDropped(System.out::println);
Flux.just(1, 2, 3)
.map(i -> i * 2)
.subscribe();
错误处理Hooks
当出现错误时,会调用相应的回调函数。主要包括两个方法:
- onOperatorError
- onOperatorDebug
demo
Hooks.onOperatorError((t, context) ->
System.out.println("onOperatorError: " + t.getMessage());
return t;
);
Flux.just(1, 2, 3)
.map(i -> i * 2)
.map(i -> 10 / (i - 4))
.subscribe();
组装Hooks
当组装操作符时,会调用相应的回调函数。主要包括两个方法:
- onEachOperator
- onLastOperator
demo
Hooks.onEachOperator(p ->
System.out.println("onEachOperator: " + p);
return p;
);
Flux.just(1, 2, 3)
.map(i -> i * 2)
.subscribe();
以上是关于reactor之hooks的主要内容,如果未能解决你的问题,请参考以下文章