Inspectopedia
 
2024.3

Unused publisher

Warning
Performance
New
Last modified: 03 December 2024

Reports unused Publisher instances.

To use an operator (a method of Mono/Flux/Flowable object that returns a Mono/Flux/Flowable) that produces a new Publisher instance, you must subscribe to the created Publisher via subscribe().

Using a factory (for example, Mono.just()) without subscribing to the returned Publisher, creates an object that is never used and is treated as unnecessary memory allocation.

For example, Mono.just(1, 2, 3).map(i -> i + 3) won't be executed unless you subscribe to this Publisher, or unless you produce a new Publisher by applying operators and subscribe to it.

Example:

Unused Flux instance:

A Flux instance used by consumer:

Calls to methods annotated with Error Prone's or AssertJ's @CanIgnoreReturnValue annotation are not reported.

New in 2019.3