flowable / flowable/flowable-engine

Spring Boot integration dependency issues

Aperta
#3,759 2 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

**Describe the bug**
I'm focusing on the BPMN process engine since that's what I'm most familiar with. There are multiple conceptual problems with the Spring Boot integration that every user of the integration would sooner or later hit:
1. Even though you've taken care of starting the async executor later so that all beans (mainly `JavaDelegate`s and `FlowableEventListener`s) are already loaded, this is still a problem for direct usages of `RuntimeService#startProcessInstance*` during startup. The reason is the same - there's an implicit requirement that all beans are loaded before using a given process definition.
2. The same consideration mentioned above has to be applied on shutdown. Otherwise, a given `JavaDelegate` bean can be destroyed before the async executor is shut down and the process instances may fail due to the absence of the bean in the application context.

**Expected behavior**
The above problems and necessary considerations should be clear to anyone trying to use the integration as well as having proper and flexible solutions to the problems (especially the second one).

**Additional context**
Flowable version: 7.0.0.M1, Spring Boot integration. Database: Postgres 14.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia tracciando il ciclo di vita dell’integrazione Spring Boot attorno a RuntimeService#startProcessInstance* e all’executor asincrono durante l’avvio e l’arresto dell’applicazione. Confronta l’ordine di inizializzazione e distruzione dei bean, quindi definisci test o verifiche del ciclo di vita che dimostrino che i delegate e gli event listener rimangono disponibili fino al completamento del lavoro del processo.

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

Valutazione

Stack tecnologico
java, spring-boot
Ambito
backend
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.