/** * 部署流程资源 * 加载ZIP文件中的流程 */ @PostMapping(value = "/deploy") @ApiOperation("上传流程定义文件并部署流程") @Authorize(action = "deploy") public ResponseMessage<Deployment> deploy(@RequestPart(value = "file") MultipartFile file) throws IOException { // 获取上传的文件名 String fileName = file.getOriginalFilename(); // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if ("zip".equals(extension) || "bar".equals(extension)) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } Deployment result = deployment.deploy(); return ResponseMessage.ok(result); }
.tenantId(modelData.getTenantId()) .addZipInputStream(zipInputStream);
/** * 部署 * * @param file * @param request * @return * @throws IOException */ @RequestMapping(value = "/admin/flow/deploy") public String deploymentProcessDefinition_zip(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException { // File upload = // (File)file;org.springframework.web.multipart.commons.CommonsMultipartFile // cannot be cast to java.io.File InputStream upload = file.getInputStream(); ZipInputStream zipInputStream = new ZipInputStream(upload); repositoryService.createDeployment().addZipInputStream(zipInputStream).deploy(); return "redirect:/admin/flow/view_list.htm"; }
@Override public Deployment deploy(String processName) { ZipInputStream zipInputStream = null; try { zipInputStream = new ZipInputStream( new FileInputStream( FileUtils.getBPMNDir() + processName + BPMNConstants.SUFFIX_ZIP)); return repositoryService.createDeployment().addZipInputStream(zipInputStream).deploy(); } catch (IOException e) { logger.error(e.getMessage()); throw ExceptionUtils.serviceException(e); } finally { if (zipInputStream != null) { try { zipInputStream.close(); } catch (IOException e) { logger.error(e.getMessage()); } } } }
/** * 部署流程 * * @return */ public Deployment deployProcDefByZip(String deploymentName, String zip) { /** * 部署图片时,命名必须为leave.activiti.jpg或leave.activiti.{processKey}.jpg * act_re_procdef.DGRM_RESOURCE_NAME_ */ ZipInputStream inputStream = null; try { inputStream = new ZipInputStream(new FileInputStream(new File(zip))); } catch (Exception e) { throw new ProcessException(e); } Deployment deploy = repositoryService.createDeployment() .name(deploymentName)// act_re_deployment.NAME .addZipInputStream(inputStream).deploy(); return deploy; }
/** * 部署流程 * * @return */ public Deployment deployProcDefByZip(String deploymentName, String zip, int deploypolicy) { /** * 部署图片时,命名必须为leave.activiti.jpg或leave.activiti.{processKey}.jpg * act_re_procdef.DGRM_RESOURCE_NAME_ */ ZipInputStream inputStream = null; try { inputStream = new ZipInputStream(new FileInputStream(new File(zip))); } catch (Exception e) { throw new ProcessException(e); } Deployment deploy = repositoryService.createDeployment() .name(deploymentName)// act_re_deployment.NAME .addZipInputStream(inputStream).deploy(deploypolicy); return deploy; }
@Override public void deployResources(final String deploymentNameHint, final Resource[] resources, final RepositoryService repositoryService) { // Create a single deployment for all resources using the name hint as // the literal name final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(deploymentNameHint); for (final Resource resource : resources) { final String resourceName = determineResourceName(resource); try { if (resourceName.endsWith(".bar") || resourceName.endsWith(".zip") || resourceName.endsWith(".jar")) { deploymentBuilder.addZipInputStream(new ZipInputStream(resource.getInputStream())); } else { deploymentBuilder.addInputStream(resourceName, resource.getInputStream()); } } catch (IOException e) { throw new ActivitiException("couldn't auto deploy resource '" + resource + "': " + e.getMessage(), e); } } deploymentBuilder.deploy(); }
@Override public void deployResources(final String deploymentNameHint, final Resource[] resources, final RepositoryService repositoryService) { // Create a separate deployment for each resource using the resource // name for (final Resource resource : resources) { final String resourceName = determineResourceName(resource); final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(resourceName); try { if (resourceName.endsWith(".bar") || resourceName.endsWith(".zip") || resourceName.endsWith(".jar")) { deploymentBuilder.addZipInputStream(new ZipInputStream(resource.getInputStream())); } else { deploymentBuilder.addInputStream(resourceName, resource.getInputStream()); } } catch (IOException e) { throw new ActivitiException("couldn't auto deploy resource '" + resource + "': " + e.getMessage(), e); } deploymentBuilder.deploy(); } }
/** * 部署流程资源 * 加载ZIP文件中的流程 */ @PostMapping(value = "/deploy") @ApiOperation("上传流程定义文件并部署流程") @Authorize(action = "deploy") public ResponseMessage<Deployment> deploy(@RequestPart(value = "file") MultipartFile file) throws IOException { // 获取上传的文件名 String fileName = file.getOriginalFilename(); // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if ("zip".equals(extension) || "bar".equals(extension)) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } Deployment result = deployment.deploy(); return ResponseMessage.ok(result); }
@Override public void deployResources(final String deploymentNameHint, final Resource[] resources, final RepositoryService repositoryService) { // Create a deployment for each distinct parent folder using the name // hint // as a prefix final Map<String, Set<Resource>> resourcesMap = createMap(resources); for (final Entry<String, Set<Resource>> group : resourcesMap.entrySet()) { final String deploymentName = determineDeploymentName(deploymentNameHint, group.getKey()); final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(deploymentName); for (final Resource resource : group.getValue()) { final String resourceName = determineResourceName(resource); try { if (resourceName.endsWith(".bar") || resourceName.endsWith(".zip") || resourceName.endsWith(".jar")) { deploymentBuilder.addZipInputStream(new ZipInputStream(resource.getInputStream())); } else { deploymentBuilder.addInputStream(resourceName, resource.getInputStream()); } } catch (IOException e) { throw new ActivitiException("couldn't auto deploy resource '" + resource + "': " + e.getMessage(), e); } } deploymentBuilder.deploy(); } }
deploymentBuilder.addInputStream(fileName, file.getInputStream()); } else if (fileName.toLowerCase().endsWith(".bar") || fileName.toLowerCase().endsWith(".zip")) { deploymentBuilder.addZipInputStream(new ZipInputStream(file.getInputStream())); } else { throw new ActivitiIllegalArgumentException("File must be of type .bpmn20.xml, .bpmn, .bar or .zip");
public Deployment deployProcDefByZip(String deploymentName, ZipInputStream processDef) { DeploymentBuilder deploymentBuilder = processEngine .getRepositoryService().createDeployment().name(deploymentName); deploymentBuilder.addZipInputStream(processDef); return deploymentBuilder.deploy(); }
|| resourceName.endsWith(".zip") || resourceName.endsWith(".jar") ) { deploymentBuilder.addZipInputStream(new ZipInputStream(resource.getInputStream())); } else { deploymentBuilder.addInputStream(resourceName, resource.getInputStream());
public Deployment deployProcDefByZip(String deploymentName, ZipInputStream processDef, int upgradepolicy) { DeploymentBuilder deploymentBuilder = processEngine .getRepositoryService().createDeployment().name(deploymentName); deploymentBuilder.addZipInputStream(processDef); /** * 参数upgradepolicy可以为以下常量值: DeploymentBuilder.Deploy_policy_default * DeploymentBuilder.Deploy_policy_upgrade * DeploymentBuilder.Deploy_policy_delete * */ return deploymentBuilder.deploy(upgradepolicy); }
} else if (fileName.endsWith(".bar") || fileName.endsWith(".zip")) { validFile = true; deploymentBuilder.addZipInputStream(new ZipInputStream(new ByteArrayInputStream(outputStream.toByteArray()))); } else { notificationManager.showErrorNotification(Messages.DEPLOYMENT_UPLOAD_INVALID_FILE,
/** * 部署工作流 * * @param is 工作流文件 * @param fileName 工作流文件名 * @return */ public List<ProcessDefinition> deploy(InputStream is, String fileName) { Deployment deployment; String extension = FilenameUtils.getExtension(fileName); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(is); deployment = repositoryService.createDeployment().addZipInputStream(zip).deploy(); } else { deployment = repositoryService.createDeployment().addInputStream(fileName, is).deploy(); } List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).list(); if (CollectionUtils.isEmpty(list)) { throw new OneBaseException("部署流程失败,请检查是否是有效的流程文件"); } return list; }