部署流程实例各个方式
//创建实例
DeploymentBuilder deployment = rep.createDeployment();
//资源文件地址
deployment.addClasspathResource("");
//输入流文件 name 资源
InputStream inputStream = new InputStream() {
@Override
public int read() throws IOException {
return 0;
}
};
deployment.addInputStream("", inputStream);
//字符串资源 name 字符串
deployment.addString("", "");
//zip文件流
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
deployment.addZipInputStream(zipInputStream);
//Bpm模型对象
BpmnModel bpmnModel = new BpmnModel();
deployment.addBpmnModel("", bpmnModel);
//字节资源
byte[] bytes = new byte[10];
deployment.addBytes("", bytes);
消除流程部署时因为文件问题报的异常
//disableBpmnValidation
DeploymentBuilder deployment = rep.createDeployment();
deployment.addClasspathResource("").disableBpmnValidation().deploy();
processDefinition对象
List<ProcessDefinition> list = rep.createProcessDefinitionQuery().list();
for (ProcessDefinition processDefinition : list) {
processDefinition.getCategory();//获取流程定义的category属性
processDefinition.getDeploymentId();//获取部署id
processDefinition.getDescription();//获取流程定义的描述
processDefinition.getDiagramResourceName();//获取流程图
processDefinition.getEngineVersion();//获取流程引擎版本
processDefinition.getId();//获取流程定义主键
processDefinition.getKey();//获取流程定义的名称,名称唯一
processDefinition.getName();//获取流程定显示的名称
processDefinition.getResourceName();//获取到资源表中资源名称
processDefinition.getTenantId();//返回租户ID
processDefinition.getVersion();//获取流程定义的版本号
processDefinition.hasGraphicalNotation();//判断是否有流程图
processDefinition.hasStartFormKey();//判断是否存在activiti:formKey
processDefinition.isSuspended();//判断是否是中断
}
中止与激活流程定义
ProcessDefinition processDefinition = rep.createProcessDefinitionQuery().deploymentId("").singleResult();
rep.suspendProcessDefinitionById(processDefinition.getId());//中止
rep.activateProcessDefinitionById(processDefinition.getId());//启动
rep.suspendProcessDefinitionByKey(processDefinition.getKey());//中止
rep.activateProcessDefinitionByKey(processDefinition.getKey());//启动
//中止状态下中止报异常
//判断是否中断
processDefinition.isSuspended();
删除流程定义
try {
rep.deleteDeployment("");
}catch (Exception e){
e.printStackTrace();
}
//已有流程实例,也可以删除成功
rep.deleteDeployment("", true);