flowable / flowable/flowable-engine

Signal expression not working in event subprocess start signal event

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

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.