flowable / flowable/flowable-engine
Spring Boot integration dependency issues
- 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