当我们需要查询一个流程定义的信息时,怎么去查询呢
查询流程定义信息
步骤:
- 获取processEngine对象
- 创建RepositoryService对象
- 得到ProcessDefinitionQuery对象
- 设置条件,并查询当前的所有流程定义
代码实现,两种(只查询一个和查询多个)
只查询一个:
public class QueryProcessDefinition {
public static void main(String[] args) {
//1:定义ProcessEngine对象,自己封装的工具类也可以
ProcessEngines.getDefaultProcessEngine();
ProcessEngine processEngine= ReturnProcessEngineUtil.getProcessEngine();
//2:创建RepositoryService对象
RepositoryService repositoryService=processEngine.getRepositoryService();
//3:得到ProcessDefinitionQuery对象
ProcessDefinitionQuery processDefinitionQuery=repositoryService.createProcessDefinitionQuery();
//4:设置条件
//orderByProcessDefinitionVersion设置排序方式,根据流程定义的版本号进行排序
ProcessDefinition processDefinition=processDefinitionQuery.processDefinitionKey("day")
.orderByProcessDefinitionVersion()
.desc()
.singleResult();
//输出流程定义信息
System.out.println("流程定义ID:"+processDefinition.getId());
System.out.println("流程定义名称:"+processDefinition.getName());
System.out.println("流程定义的Key:"+processDefinition.getKey());
System.out.println("流程定义的版本号:"+processDefinition.getVersion());
System.out.println("流程部署的ID:"+processDefinition.getDeploymentId());
}
}
查询多个:
public class QueryProcessDefinition {
public static void main(String[] args) {
//1:定义ProcessEngine对象,自己封装的工具类也可以
ProcessEngines.getDefaultProcessEngine();
ProcessEngine processEngine= ReturnProcessEngineUtil.getProcessEngine();
//2:创建RepositoryService对象
RepositoryService repositoryService=processEngine.getRepositoryService();
//3:得到ProcessDefinitionQuery对象
ProcessDefinitionQuery processDefinitionQuery=repositoryService.createProcessDefinitionQuery();
//4:设置条件,根据条件查询
//orderByProcessDefinitionVersion设置排序方式,根据流程定义的版本号进行排序
List<ProcessDefinition>list=processDefinitionQuery.processDefinitionKey("day")
.orderByProcessDefinitionVersion()
.desc()
.list();
//输出流程定义信息
for(ProcessDefinition processDefinition :list){
System.out.println("流程定义ID:"+processDefinition.getId());
System.out.println("流程定义名称:"+processDefinition.getName());
System.out.println("流程定义的Key:"+processDefinition.getKey());
System.out.println("流程定义的版本号:"+processDefinition.getVersion());
System.out.println("流程部署的ID:"+processDefinition.getDeploymentId());
}
}
}