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).
Summary
TaskType.EXCLUSIVE_JOINexists in the SDK enum but there is noExclusiveJoinbuilderclass. There is no way to set the
defaultExclusiveJoinTaskfield through the SDK API.Users must construct raw
WorkflowTaskobjects manually.Server baseline
Conductor 3.32.0-rc.9
Evidence
Static:
TaskType.EXCLUSIVE_JOINis 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
Proposed fix
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).