Java Code Examples for org.activiti.engine.repository.DeploymentBuilder#deploy()
The following examples show how to use
org.activiti.engine.repository.DeploymentBuilder#deploy() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TextQueryTest.java From CrazyWorkflowHandoutsActiviti6 with MIT License | 6 votes |
public static void main(String[] args) throws Exception { // 新建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 存储服务 RepositoryService repositoryService = engine.getRepositoryService(); // 新建部署构造器 DeploymentBuilder deploymentBuilder = repositoryService .createDeployment(); deploymentBuilder.addClasspathResource("my_text.txt"); Deployment deployment = deploymentBuilder.deploy(); // 数据查询 InputStream inputStream = repositoryService.getResourceAsStream( deployment.getId(), "my_text.txt"); int count = inputStream.available(); byte[] contents = new byte[count]; inputStream.read(contents); String result = new String(contents); // 输入结果 System.out.println(result); // 关闭流程引擎 engine.close(); }
Example 2
Source File: DefaultAutoDeploymentStrategy.java From activiti6-boot2 with Apache License 2.0 | 6 votes |
@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(); }
Example 3
Source File: SingleResourceAutoDeploymentStrategy.java From activiti6-boot2 with Apache License 2.0 | 6 votes |
@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(); } }
Example 4
Source File: BpmnErrorTest.java From CrazyWorkflowHandoutsActiviti6 with MIT License | 6 votes |
public static void main(String[] args) { // 新建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 存储服务 RepositoryService repositoryService = engine.getRepositoryService(); // 新建部署构造器 DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); // 增加错误的schema文件(包括无效的标签)<test>test</test> // 报错信息:[Validation set: 'activiti-executable-process' | //Problem: 'activiti-start-event-multiple-found'] : //Multiple none start events are not supported - //[Extra info : processDefinitionId = myProcess | // processDefinitionName = My process | | id = startevent1 | //| activityName = Start | ] ( line: 4, column: 47) deploymentBuilder.addClasspathResource("error/bpmn_error.bpmn"); // 禁用Bpmn验证 deploymentBuilder.disableBpmnValidation(); // 发布部署构造器 deploymentBuilder.deploy(); // 关闭流程引擎 engine.close(); }
Example 5
Source File: DefaultAutoDeploymentStrategy.java From flowable-engine with Apache License 2.0 | 6 votes |
@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(); }
Example 6
Source File: BpmnErrorTest.java From CrazyWorkflowHandoutsActiviti6 with MIT License | 6 votes |
public static void main(String[] args) { // 新建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 存储服务 RepositoryService repositoryService = engine.getRepositoryService(); // 新建部署构造器 DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); // 增加错误的schema文件(包括无效的标签)<test>test</test> // 报错信息:[Validation set: 'activiti-executable-process' | //Problem: 'activiti-start-event-multiple-found'] : //Multiple none start events are not supported - //[Extra info : processDefinitionId = myProcess | // processDefinitionName = My process | | id = startevent1 | //| activityName = Start | ] ( line: 4, column: 47) deploymentBuilder.addClasspathResource("error/bpmn_error.bpmn"); // 禁用Bpmn验证 deploymentBuilder.disableBpmnValidation(); // 发布部署构造器 deploymentBuilder.deploy(); // 关闭流程引擎 engine.close(); }
Example 7
Source File: SchemaErrorTest.java From CrazyWorkflowHandoutsActiviti6 with MIT License | 6 votes |
public static void main(String[] args) { // 新建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 存储服务 RepositoryService repositoryService = engine.getRepositoryService(); // 新建部署构造器 DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); // 增加错误的schema文件(包括无效的标签)<test>test</test> // 校验报错:发现了以元素 'test' 开头的无效内容。 deploymentBuilder.addClasspathResource("error/schema_error.bpmn"); // 禁用Schema验证 deploymentBuilder.disableSchemaValidation(); // 发布部署构造器 deploymentBuilder.deploy(); // 关闭流程引擎 engine.close(); }
Example 8
Source File: AddZipInputStreamTest.java From CrazyWorkflowHandoutsActiviti6 with MIT License | 6 votes |
public static void main(String[] args) throws Exception { // 新建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 存储服务 RepositoryService repositoryService = engine.getRepositoryService(); // 新建部署构造器 DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); // 新建文件输入流 FileInputStream fileInputStream = new FileInputStream(new File("resources/datas.zip")); // 新建Zip输入流 ZipInputStream zipInputStream = new ZipInputStream(fileInputStream); // 将Zip输入流添加到部署构造器中 deploymentBuilder.addZipInputStream(zipInputStream); // 发布部署构造器 deploymentBuilder.deploy(); // 关闭流程引擎 engine.close(); }
Example 9
Source File: AddBpmnModelTest.java From CrazyWorkflowHandoutsActiviti6 with MIT License | 6 votes |
public static void main(String[] args) throws Exception { // 新建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 存储服务 RepositoryService repositoryService = engine.getRepositoryService(); // 新建部署构造器 DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); String resourceName = "My Process"; BpmnModel bpmnModel = createProcessModel(); // 发布部署构造器 deploymentBuilder.addBpmnModel(resourceName, bpmnModel); // 发布部署构造器 deploymentBuilder.deploy(); // 关闭流程引擎 engine.close(); }
Example 10
Source File: BxlcTaskListeningImpl.java From gem with MIT License | 5 votes |
/** * @Description:发布流程 * @param type 流程的key * @author: Ryan * @date 2018年11月18日 */ public String deployment(String type) { DeploymentBuilder createDeployment = repositoryService.createDeployment(); createDeployment.addClasspathResource("processes/"+type+".bpmn"); createDeployment.addClasspathResource("processes/"+type+".png"); Deployment deploy = createDeployment.deploy(); return deploy.getId(); }
Example 11
Source File: DeploymentController.java From activiti-in-action-codes with Apache License 2.0 | 5 votes |
/** * 部署流程资源 */ @RequestMapping(value = "/deploy") public String deploy(@RequestParam(value = "file", required = true) MultipartFile file) { // 获取上传的文件名 String fileName = file.getOriginalFilename(); try { // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } deployment.deploy(); } catch (Exception e) { logger.error("error on deploy process, because of file input stream"); } return "redirect:process-list"; }
Example 12
Source File: FlowableDeploymentController.java From hsweb-framework with Apache License 2.0 | 5 votes |
/** * 部署流程资源 * 加载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); }
Example 13
Source File: DeploymentController.java From activiti-in-action-codes with Apache License 2.0 | 5 votes |
/** * 部署流程资源 */ @RequestMapping(value = "/deploy") public String deploy(@RequestParam(value = "file", required = true) MultipartFile file) { // 获取上传的文件名 String fileName = file.getOriginalFilename(); try { // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } deployment.deploy(); } catch (Exception e) { logger.error("error on deploy process, because of file input stream"); } return "redirect:process-list"; }
Example 14
Source File: ResourceParentFolderAutoDeploymentStrategy.java From activiti6-boot2 with Apache License 2.0 | 5 votes |
@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(); } }
Example 15
Source File: DeploymentController.java From activiti-in-action-codes with Apache License 2.0 | 5 votes |
/** * 部署流程资源 */ @RequestMapping(value = "/deploy") public String deploy(@RequestParam(value = "file", required = true) MultipartFile file) { // 获取上传的文件名 String fileName = file.getOriginalFilename(); try { // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } deployment.deploy(); } catch (Exception e) { logger.error("error on deploy process, because of file input stream"); } return "redirect:process-list"; }
Example 16
Source File: ProcessDeployer.java From activiti6-boot2 with Apache License 2.0 | 5 votes |
/** * Deploys a single process * * @return the processDefinitionId of the deployed process as returned by {@link ProcessDefinition#getId()} */ public String deployProcess(String resourceName) { logger.debug("Start deploying single process."); // deploy processes as one deployment DeploymentBuilder deploymentBuilder = processEngine.getRepositoryService().createDeployment(); deploymentBuilder.addClasspathResource(resourceName); // deploy the processes Deployment deployment = deploymentBuilder.deploy(); logger.debug("Process deployed"); // retreive the processDefinitionId for this process return processEngine.getRepositoryService().createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult().getId(); }
Example 17
Source File: DeploymentController.java From activiti-in-action-codes with Apache License 2.0 | 5 votes |
/** * 部署流程资源 */ @RequestMapping(value = "/deploy") public String deploy(@RequestParam(value = "file", required = true) MultipartFile file) { // 获取上传的文件名 String fileName = file.getOriginalFilename(); try { // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } deployment.deploy(); } catch (Exception e) { logger.error("error on deploy process, because of file input stream"); } return "redirect:process-list"; }
Example 18
Source File: DeploymentController.java From activiti-in-action-codes with Apache License 2.0 | 5 votes |
/** * 部署流程资源 */ @RequestMapping(value = "/deploy") public String deploy(@RequestParam(value = "file", required = true) MultipartFile file) { // 获取上传的文件名 String fileName = file.getOriginalFilename(); try { // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } deployment.deploy(); } catch (Exception e) { logger.error("error on deploy process, because of file input stream"); } return "redirect:process-list"; }
Example 19
Source File: DeploymentController.java From activiti-in-action-codes with Apache License 2.0 | 5 votes |
/** * 部署流程资源 */ @RequestMapping(value = "/deploy") public String deploy(@RequestParam(value = "file", required = true) MultipartFile file) { // 获取上传的文件名 String fileName = file.getOriginalFilename(); try { // 得到输入流(字节流)对象 InputStream fileInputStream = file.getInputStream(); // 文件的扩展名 String extension = FilenameUtils.getExtension(fileName); // zip或者bar类型的文件用ZipInputStream方式部署 DeploymentBuilder deployment = repositoryService.createDeployment(); if (extension.equals("zip") || extension.equals("bar")) { ZipInputStream zip = new ZipInputStream(fileInputStream); deployment.addZipInputStream(zip); } else { // 其他类型的文件直接部署 deployment.addInputStream(fileName, fileInputStream); } deployment.deploy(); } catch (Exception e) { logger.error("error on deploy process, because of file input stream"); } return "redirect:process-list"; }
Example 20
Source File: DeploymentCollectionResource.java From activiti6-boot2 with Apache License 2.0 | 4 votes |
@ApiOperation(value = "Create a new deployment", tags = {"Deployment"}, consumes = "multipart/form-data", produces = "application/json", notes = "The request body should contain data of type multipart/form-data. There should be exactly one file in the request, any additional files will be ignored. If multiple resources need to be deployed in a single deployment, compress the resources in a zip and make sure the file-name ends with .bar or .zip.\n" + "\n" + "An additional parameter (form-field) can be passed in the request body with name tenantId. The value of this field will be used as the id of the tenant this deployment is done in.") @ApiResponses(value = { @ApiResponse(code = 200, message = "Indicates the deployment was created."), @ApiResponse(code = 400, message = "Indicates there was no content present in the request body or the content mime-type is not supported for deployment. The status-description contains additional information.") }) @RequestMapping(value = "/repository/deployments", method = RequestMethod.POST, produces = "application/json") public DeploymentResponse uploadDeployment(@ApiParam(name = "tenantId") @RequestParam(value = "tenantId", required = false) String tenantId, HttpServletRequest request, HttpServletResponse response) { if (request instanceof MultipartHttpServletRequest == false) { throw new ActivitiIllegalArgumentException("Multipart request is required"); } MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; if (multipartRequest.getFileMap().size() == 0) { throw new ActivitiIllegalArgumentException("Multipart request with file content is required"); } MultipartFile file = multipartRequest.getFileMap().values().iterator().next(); try { DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); String fileName = file.getOriginalFilename(); if (StringUtils.isEmpty(fileName) || !(fileName.endsWith(".bpmn20.xml") || fileName.endsWith(".bpmn") || fileName.toLowerCase().endsWith(".bar") || fileName.toLowerCase().endsWith(".zip"))) { fileName = file.getName(); } if (fileName.endsWith(".bpmn20.xml") || fileName.endsWith(".bpmn")) { 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"); } deploymentBuilder.name(fileName); if (tenantId != null) { deploymentBuilder.tenantId(tenantId); } Deployment deployment = deploymentBuilder.deploy(); response.setStatus(HttpStatus.CREATED.value()); return restResponseFactory.createDeploymentResponse(deployment); } catch (Exception e) { if (e instanceof ActivitiException) { throw (ActivitiException) e; } throw new ActivitiException(e.getMessage(), e); } }