I have a Micronaut application using the declarative Reactor HTTP client, backed by DefaultHttpClient (DefaultHttpClient
implements both HttpClient
and StreamingHttpClient
).
When I subscribe to a request that returns a Flux<T>
and call dispose()
on the resulting Disposable
, any future HTTP calls hang.
Notably, this does not happen if I call the same endpoint returning Mono<List<T>>
and then dispose the subscription.
Is this expected behavior, and how can I safely cancel an individual Flux
request without shutting down the entire client’s resources?
A sample repo demonstrates the issue, with a README that provides steps to reproduce it.
Any insights or tips would be appreciated!