The Flow based BodyProcessor API is still difficult to use.
Because it is callback based, it requires developers to understand a
complex lifecycle model, for example:
- what threads callbacks can run on,
- the concurrency relationship between those callbacks(happens-before?),
- whether it’s guaranteed that exactly one of onError() or onComplete() is called
exactly once, and
- whether subscription.cancel() has exactly the same result as not calling
subscription.onNext(1) (for applications that only ever call onNext(1))
This issue has been filed to capture comments raised by tobiast at google dot com, see
http://mail.openjdk.java.net/pipermail/net-dev/2017-July/010872.html
Because it is callback based, it requires developers to understand a
complex lifecycle model, for example:
- what threads callbacks can run on,
- the concurrency relationship between those callbacks(happens-before?),
- whether it’s guaranteed that exactly one of onError() or onComplete() is called
exactly once, and
- whether subscription.cancel() has exactly the same result as not calling
subscription.onNext(1) (for applications that only ever call onNext(1))
This issue has been filed to capture comments raised by tobiast at google dot com, see
http://mail.openjdk.java.net/pipermail/net-dev/2017-July/010872.html