未使用の Publisher インスタンスを報告します。

新しい Publisher インスタンスを作成する演算子 (Mono/Flux/Flowable を返す Mono/Flux/Flowable オブジェクトのメソッド) を使用するには、subscribe() を使用して作成された Publisher をサブスクライブする必要があります。

返された Publisher をサブスクライブせずにファクトリ (Mono.just() など) を使用すると、まったく使用されないオブジェクトが作成され、不要なメモリ割り当てとして処理されてしまいます。

たとえば、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 の新機能です