From c0cd55a8fa84304b557819345eef61f71ab4ab59 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Mon, 5 Jun 2023 14:11:39 +0200 Subject: [PATCH] Clarify error handling for reactive scheduled methods This commit adds a note in the reference documentation stating that `ErrorHandler` infrastructure is not involved when reactive methods send an error signal: the exception is sent as a message in the pipeline and is not thrown from the task `Runnable`. See gh-23533 --- framework-docs/modules/ROOT/pages/integration/scheduling.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/framework-docs/modules/ROOT/pages/integration/scheduling.adoc b/framework-docs/modules/ROOT/pages/integration/scheduling.adoc index e8f723af0c..77908e9f93 100644 --- a/framework-docs/modules/ROOT/pages/integration/scheduling.adoc +++ b/framework-docs/modules/ROOT/pages/integration/scheduling.adoc @@ -475,6 +475,10 @@ seconds, but these values are unused: ---- If the `Publisher` emits an `onError` signal, it is logged at WARN level and recovered. +Because of the asynchronous and lazy nature of `Publisher` instances, exceptions are +not thrown from the Runnable task: this means that the `ErrorHandler` contract is not +involved for Reactive methods. + As a result, further scheduled subscription do happen despite the error. In the following example, the `Mono` subscription fails twice in the first five seconds