flowable / flowable/flowable-engine

IdmEngineConfiguration does not execute any EngineConfigurators

Aperta
#2,464 1 commento 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**
The IdmEngineConfiguration can have EngineConfigurators added to it (inherited from the AbstractEngineConfiguration) but these are not executed when the IdmEngineConfiguration is initialised.

For example if we create a SpringIdmEngineConfiguration bean:

@Bean
public SpringIdmEngineConfiguration idmEngineConfiguration(
EngineConfigurator engineConfigurator) {

SpringIdmEngineConfiguration idmEngineConfiguration = new SpringIdmEngineConfiguration();
idmEngineConfiguration.addConfigurator(engineConfigurator);

return idmEngineConfiguration;
}

Then the inserted `engineConfigurator` will not have its `beforeInit(...)` or `configure(...)` called, and is effectively ignored.

We can see that in `IdmEngineConfiguration` the `init()` method there are no calls made to any of `initConfigurators()`, `configuratorsBeforeInit()` or `configuratorsAfterInit()` which the other engine configurations use in their `init()` methods.

https://github.com/flowable/flowable-engine/blob/a5fe7d59662b9f7f6b74c9a5756ed1d71913570d/modules/flowable-idm-engine/src/main/java/org/flowable/idm/engine/IdmEngineConfiguration.java#L170

**Expected behavior**
In this case I would expect the `beforeInit(...)` and `configure(...)` methods in the `engineConfigurator` to be called when initialising the IdmEngineConfiguration in exactly the same way as the other engines (Process, CMMN, DMN, etc).
This would make the setup of the IdmEngine to follow the same behaviour of other engines and to be consistent.

**Code**
See above.

**Additional context**
Flowable-6.5.0 and Spring 5.2.2.RELEASE without Spring-Boot

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia in modules/flowable-idm-engine/src/main/java/org/flowable/idm/engine/IdmEngineConfiguration.java, nei pressi di init(), quindi confronta le chiamate ai configuratori utilizzate dalle configurazioni dei motori Process, CMMN e DMN. Verifica il comportamento con i test pertinenti del motore IDM; il lavoro è completato quando un EngineConfigurator aggiunto riceve le chiamate beforeInit(...) e configure(...) durante l'inizializzazione.

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

Valutazione

Stack tecnologico
java
Ambito
backend
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.