说明:从存储服务RepositoryService可以获取发布生成器DeploymentBuilder,该生成器中可以调用添加资源的方法,有不同资源的添加,然后调用deploy()方法进行发布。具体的添加方法如下:
DeploymentBuilder addInputStream(String resourceName, InputStream inputStream);
DeploymentBuilder addClasspathResource(String resource);
DeploymentBuilder addString(String resourceName, String text);
DeploymentBuilder addBytes(String resourceName, byte[] bytes);
//zip压缩文件
DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream);
//bpmn文件
DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel);
此处只测试压缩文件和bpmn资源的发布与读取。 ① 发布压缩文件
3.查看:
②发布bmpn(不使用文件,代码生成)
概述:在发布bpmn文件时,activiti会对文件的标签和逻辑进行验证,如果验证不通过则会抛出异常。
概述:当我们发布成功后,可以对发布的资源进行查询。
结果:
3. 查询bpmn的图片资源:
Deployment deployment = repositoryService.createDeployment().addClasspathResource("query.bpmn").deploy();
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();
//读取流程资源图片
InputStream inputStream = repositoryService.getProcessDiagram(processDefinition.getId());
BufferedImage image = ImageIO.read(inputStream);
System.out.println("图片:" + image);
//保存为图片文件
File file = new File("resource/image/result.png");
if (!file.exists()){
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
ImageIO.write(image,"png",fos);
fos.close();
inputStream.close();
查看图片:
删除部署数据: 1. 不管是否指定级联,都会删除部署相关的身份数据、流程定义数据、流程资源与部署数据 2. 如果设置为级联删除,则会将运行的流程实例、流程任务以及流程实例的历史数据删除 3. 如果不级联删除,但是存在运行时数据,例如还有流程实例,就会删除失败