我必须使用我项目的服务公开 Activiti API 进程。
我的要求如下:
我想在运行流程之前使用 Java 了解有关 Activiti 流程定义中任务的详细信息,即。在创建 Activiti ProcessInstance 之前。有什么办法可以实现吗?
我已经多次浏览 Activiti API 的 Java 文档和用户指南,但找不到方法。
任何帮助将不胜感激,谢谢。
最佳答案
您可以使用 RepositoryService 接口(interface)中提供的 getBpmnModel(processDefinitionId) 方法。
结果是一个 Pojo,您可以使用它来检查流程。初始的pojo代表模型,可以有多个Processes(但通常只有一个)。从给定的流程中,您可以使用 findFlowElementsOfType(类类型)找到所有任务。
例如,此代码段应为您提供流程中的 UserTasks 列表(未经测试但应让您了解需要什么):
BpmnModel model = processEngine.getRepositoryService().getBpmnModel(someProcessId);
List<Process> processes = model.getProcesses();
List<UserTask> userTasks = new ArrayList<>();
for( Process p : processes ) {
userTasks.addAll( p.findFlowElementsOfType(UserTask.class))
}
关于java - 有没有办法在不创建流程实例的情况下获取Activiti流程定义中的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695638/