flowable / flowable/flowable-engine
[BUG] Parallel Gateway with Multi-Instance Task Generates Duplicate Tasks When Moving Executions to External Activity
- Lingua principale
- Java
- Stelle
- 9.5k
- Fork
- 2.9k
- Merge medio
- 7h 8m
- PR unite (30g)
- 2
Descrizione
- Description
Parallel Gateway with Multi-Instance Task Generates Duplicate Tasks When Moving Executions to External Activity. Flowable v6.8.0 is ok.
- Version
Flowable Version: 7.1.0
- Unit Test
[test.bpmn20.zip](https://github.com/user-attachments/files/20201885/test.bpmn20.zip)
```java
@Test
@Deployment(resources = { "org/flowable/engine/test/api/test.bpmn20.xml" })
public void test() {
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("test");
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
assertThat(task.getTaskDefinitionKey()).isEqualTo("Starter");
// Complete task Starter
taskService.complete(task.getId());
// Current Tasks
List currentActivities = new ArrayList<>();
currentActivities.add("TaskA");
currentActivities.add("TaskB");
changeStateEventListener.clear();
runtimeService.createChangeActivityStateBuilder()
.processInstanceId(processInstance.getId())
.moveActivityIdsToSingleActivityId(currentActivities, "Starter")
.changeState();
List tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();
assertThat(tasks).hasSize(1);
}
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia con il file test.bpmn20.zip allegato e la riproduzione Java che utilizza runtimeService.createChangeActivityStateBuilder(). Esegui il test per osservare la creazione delle attività quando TaskA e TaskB vengono spostati in Starter, quindi traccia la gestione del cambio di stato per i gateway paralleli e le attività multiistanza. Il lavoro è completato quando lo scenario produce un’attività e dispone di un test di regressione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- backend
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100