报告未使用的 Publisher 实例。
要使用生成新的 Publisher 实例的运算符(返回 Mono/Flux/Flowable 的 Mono/Flux/Flowable 对象的方法),您必须通过 subscribe() 订阅创建的 Publisher。
使用工厂(例如,Mono.just())而不订阅返回的 Publisher,会创建一个从未使用的对象,并被视为不必要的内存分配。
例如,Mono.just(1, 2, 3).map(i -> i + 3) 不会被执行,除非您订阅了此 Publisher,或者除非您通过应用运算符生成新的 Publisher 并订阅它。
示例:
未使用的 Flux 实例:
Flux.just(1, 2, 3);
使用者使用的 Flux 实例:
Flux.just(1, 2, 3).subscribe(System.out::println);
不会报告对使用 Error Prone 或 AssertJ 的 @CanIgnoreReturnValue 注解进行注解的方法的调用。
2019.3 最新变化