conductor-oss / conductor-oss/java-sdk
EXCLUSIVE_JOIN task: missing builder class; defaultExclusiveJoinTask unreachable
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 12
- Forks
- 10
- Ø Merge
- 2 T. 8 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
Summary
TaskType.EXCLUSIVE_JOIN exists in the SDK enum but there is no ExclusiveJoin builder
class. There is no way to set the defaultExclusiveJoinTask field through the SDK API.
Users must construct raw WorkflowTask objects manually.
Server baseline
Conductor 3.32.0-rc.9
Evidence
Static: TaskType.EXCLUSIVE_JOIN is in the enum; no builder class exists.
WorkflowTask.defaultExclusiveJoinTask (type: List<String>) is unreachable from the SDK.
Live (2026-07-16): A raw EXCLUSIVE_JOIN task (joinOn, defaultExclusiveJoinTask)
inside a SWITCH workflow was registered and executed against Conductor OSS 3.32.0-rc.9.
Workflow completed successfully — server supports EXCLUSIVE_JOIN fully, gap is SDK-only.
Expected behaviour
new ExclusiveJoin("excl_join_ref")
.joinOn("branch_a_task", "branch_b_task")
.defaultExclusiveJoinTask("branch_b_task")
Proposed fix
public class ExclusiveJoin extends Task<ExclusiveJoin> {
private String[] joinOn;
private List<String> defaultExclusiveJoinTask = new ArrayList<>();
public ExclusiveJoin(String taskReferenceName, String... joinOn) {
super(taskReferenceName, TaskType.EXCLUSIVE_JOIN);
this.joinOn = joinOn;
}
public ExclusiveJoin defaultExclusiveJoinTask(String... tasks) {
this.defaultExclusiveJoinTask = Arrays.asList(tasks);
return this;
}
@Override
protected void updateWorkflowTask(WorkflowTask task) {
task.setJoinOn(Arrays.asList(joinOn));
task.setDefaultExclusiveJoinTask(defaultExclusiveJoinTask);
}
}
Related
Discovered during systematic SDK audit against Conductor OSS 3.32.0-rc.9.
Same gap exists in the Python SDK (conductor-oss/python-sdk#429).
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit TaskType.EXCLUSIVE_JOIN und WorkflowTask.defaultExclusiveJoinTask und vergleiche dann die vorgeschlagene ExclusiveJoin API mit den Konventionen des Task-Builders im SDK. Als erledigt gilt die Aufgabe, wenn Aufrufer joinOn und defaultExclusiveJoinTask über ExclusiveJoin konfigurieren können und die resultierende Workflow-Aufgabe registriert und ausgeführt werden kann, ohne eine rohe WorkflowTask zu erstellen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- backend-api-design
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 74/100