flowable / flowable/flowable-engine
Signal expression not working in event subprocess start signal event
- Lingua principale
- Java
- Stelle
- 9.5k
- Fork
- 2.9k
- Merge medio
- 7h 8m
- PR unite (30g)
- 2
Descrizione
I am trying to use a signal expression referencing a variable from the parent process in the start event element of an event subprocess but it fails since the line of code below passes null instead of the parent execution context:
[ProcessInstanceHelper, line 382](https://github.com/flowable/flowable-engine/blob/d7e726a3845709552f01f4d09cf06ee1f8faeeae/modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java#L382)
```
diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java
index f00caa7f39..862febb833 100644
--- a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java
+++ b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java
@@ -379,7 +379,7 @@ public class ProcessInstanceHelper {
signalExecution.setEventScope(true);
signalExecution.setActive(false);
- String eventName = EventDefinitionExpressionUtil.determineSignalName(commandContext, signalEventDefinition, bpmnModel, null);
+ String eventName = EventDefinitionExpressionUtil.determineSignalName(commandContext, signalEventDefinition, bpmnModel, parentExecution);
EventSubscriptionEntity eventSubscription = (EventSubscriptionEntity) processEngineConfiguration.getEventSubscriptionServiceConfiguration()
.getEventSubscriptionService().createEventSubscriptionBuilder()
```
When I changed it to pass the parentExecution as the last parameter everything works as expected. Is there a reason for it to be null?
This change is similar to the code for message start event in the method right above this method.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia in modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java alla riga 382 e confronta il codice del signal start-event con il metodo message start-event sopra di esso. Verifica che l’espressione del segnale riceva il contesto di esecuzione padre e risolva le variabili dal processo padre, quindi conferma che la sottoscrizione all’evento utilizzi il nome del segnale risolto.
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
- 48/100