flowable / flowable/flowable-engine

Add monitoring possibilities for BPMN exception mapping

Offen
#3,565 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
9.5k
Forks
2.9k
Ø Merge
7 Std. 8 Min.
Gemergte PRs (30 T.)
2

Beschreibung

**Feature request description**

Whenever I am mapping a more or less generic exception to an error code in BPMN, I would like the possibility to know more about the original exception every time this mapping is executed. Currently, such exception details are swallowed and only replaced by the error code at the error mapping time.
Actually, I want support users to be able to monitor these error occurrences and report the root causes of the originating exceptions. My underlying goal is reducing the probability for my end-users to end up in the modelled error paths.

**Describe the solution you'd like**

Some logging (even if only at debug level) in class org.flowable.engine.impl.bpmn.helper.ErrorPropagation, either in method mapException or in methods calling mapException when true is returned. I would expect this logging to contain:
- exception class
- class of exception root cause
- process instance in which the exception occurred
- message of original exception
- stacktrace of original exception (maybe only at trace level)

**Describe alternatives you've considered**

- either add the above details to FlowableErrorEvent (but then these new fields would not always be relevant, for example wen a BPMNError is thrown) and they can be used in custom implementations of EventLogger or custom subclasses of AbstractFlowableEngineEventListener
- or add support for injecting new custom listeners in the error mapping execution (instead of the proposed logging)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit org.flowable.engine.impl.bpmn.helper.ErrorPropagation, insbesondere mit mapException und den Methoden, die es aufrufen, wenn es true zurückgibt. Vergleiche den vorgeschlagenen Logging-Ansatz mit den Alternativen FlowableErrorEvent und benutzerdefinierten Listenern und verfolge anschließend, wie Ausnahme- und Prozessinstanzdetails an diesem Punkt verfügbar sind. Als erledigt gilt die Aufgabe, wenn der ausgewählte Überwachungsweg die angeforderte Exception-Klasse, die Root Cause, die Prozessinstanz, die Nachricht und den Stacktrace bereitstellt, ohne das BPMN-Fehlerverhalten zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.