Activiti-结束流程实例结束的结束事件的名称



我想要获取流程实例结束的结束事件的名称。我使用的是Activiti版本7(activit的春季启动程序(。有人能帮忙吗?

嗨,我也有类似的问题,我知道这有点过时了,但仍然。。。

您可以使用HistoryService来完成流程(假设您有一些id(

@Autowired
private HistoryService historyService;

请考虑我的代码片段,由于路径的结束,它实际上将结束进程

Map<String, Object> params = new HashMap<>(); // Some params
Task task = taskService.createTaskQuery()
.processInstanceId(processId)
.singleResult();
taskService.complete(task.getId(), params); //params optional, this ends whole process 
List<HistoricVariableInstance> allVars = historyService
.createHistoricVariableInstanceQuery()
.processInstanceId(navTask.getProcessId())
.list();
//return to user all filled in forms etc.
HistoricProcessInstance historicProcess = historyService.createHistoricProcessInstanceQuery().processInstanceId(navTask.getProcessId()).singleResult();
String endId = historicProcess.getEndActivityId(); //This returns ID where your process ended

如果结束活动的id不够,你可以进行更多的挖掘:

String procDefId = historicProcess.getProcessDefinitionId()
FlowElement  flowEl = repositoryService.getBpmnModel(procDefId).getMainProcess().getFlowElements()
.stream()
.filter(flowElement -> flowElement.getId().equals("endId"))
.findFirst()
.orElseThrow(IllegalStateException::new)
flowEl.getName() //your name and other stuff you need 

最重要的一点是:在我的案例中,历史记录没有持久化,必须使用spring.activiti.historyLevel=activityspring.activiti.dbHistoryUsed=true更新应用程序属性

相关内容

  • 没有找到相关文章

最新更新