activiti7从act_ge_bytearray表中查询资源文件并保存到桌面文件夹中

package com.zcc.activiti02;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery;
import org.apache.commons.io.IOUtils;

import java.io.*;

/**
* 从act_ge_bytearray表中查询资源文件并保存到桌面文件夹中
*
*/
public class QueryBpmnFile {
public static void main(String[] args) {
//创建流程引擎配置类
ProcessEngineConfiguration processEngineConfiguration=
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
//流程引擎对象
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();

RepositoryService repositoryService = processEngine.getRepositoryService();
//获取查询器
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
//设置查询条件
processDefinitionQuery.processDefinitionKey("myProcess");

//执行查询操作,得到想要流程定义信息
ProcessDefinition processDefinition = processDefinitionQuery.singleResult();

//通过流程定义信息得到部署id
String deploymentId = processDefinition.getDeploymentId();

//实现读写bpmn文件信息
InputStream bpmnIs = repositoryService.getResourceAsStream(deploymentId, processDefinition.getResourceName());

//构建输出流
FileOutputStream bpmnOs = null;
try {
bpmnOs = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\新建文件夹\\"+processDefinition.getResourceName());
} catch (FileNotFoundException e) {
e.printStackTrace();
}

//输入流,输出流的转换
try {
IOUtils.copy(bpmnIs,bpmnOs);
} catch (IOException e) {
e.printStackTrace();
}


}
}

猜你喜欢

转载自www.cnblogs.com/yscec/p/11802779.html