背景:本來提供了設置name的接口,但是由於很多情況,流程還沒有發起就結束了,這種就很難設置他的name,那么我們如何做呢?
1. 繼承StartProcessInstanceCmd
public class StartProcessNameProcessInstanceCmd<T> extends StartProcessInstanceCmd<T> { public StartProcessNameProcessInstanceCmd(String processInstanceName, String processDefinitionKey,String businessKey, Map<String, Object> variables, String tenantId) { super(processDefinitionKey, null, businessKey, variables,tenantId); this.processInstanceName = processInstanceName; } }
2. 啟動的時候我們直接用命令來啟動流程即可
ProcessInstance processInstance = managementService.executeCommand(new StartProcessNameProcessInstanceCmd<ProcessInstance>(params.getFormName(), params.getProcessDefinitionKey().trim(),
params.getBusinessKey().trim(), params.getVariables(), params.getSystemSn().trim()));