flowable / flowable/flowable-engine

Add monitoring possibilities for BPMN exception mapping

Aperta
#3,565 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
9.5k
Fork
2.9k
Merge medio
7h 8m
PR unite (30g)
2

Descrizione

**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)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con org.flowable.engine.impl.bpmn.helper.ErrorPropagation, in particolare con mapException e i metodi che lo chiamano quando restituisce true. Confronta l’approccio di logging proposto con le alternative FlowableErrorEvent e dei listener personalizzati; quindi traccia come, a quel punto, siano disponibili i dettagli dell’eccezione e dell’istanza del processo. Il lavoro è completato quando il percorso di monitoraggio selezionato espone la classe dell’eccezione richiesta, la causa radice, l’istanza del processo, il messaggio e lo stacktrace senza modificare il comportamento degli errori BPMN.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.