我必须使用项目服务公开Activiti API流程。
我的要求如下:
在运行流程之前,我想使用Java了解有关Activiti流程定义中的任务的详细信息。在创建Activiti ProcessInstance之前。有什么办法可以做到这一点?
我已经遍历了Activiti API的Java文档和用户指南,但找不到方法。
任何帮助将不胜感激,谢谢。
您可以使用RepositoryService接口中可用的getBpmnModel(processDefinitionId)方法。
结果是一个Pojo,可用于o自省过程。初始pojo表示模型,该模型可以具有多个Process(但通常只有一个)。从给定的流程中,您可以使用findFlowElementsOfType(Class type)查找所有任务。
例如,此代码段应为您提供流程中的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))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2333 次 |
| 最近记录: |