动态发布流程
@APIDesc("动态发布流程")
@PostMapping("/dynamic/deploy/process")
public RspBase<Map<String, Object>> dynamicDeployProcess(@RequestPart MultipartFile file) throws IOException {
Deployment deployment = repositoryService.createDeployment()
.addInputStream(file.getOriginalFilename(), file.getInputStream())
.deploy();
Map<String, Object> map = new HashMap<>();
map.put("deploymentId", deployment.getId());
map.put("deploymentName", deployment.getName());
map.put("deploymentKey", deployment.getKey());
return new RspBase<Map<String, Object>>().setCode(200).setMsg("动态发布流程成功").setData(map);
}获取当前部署的流程
可以看到只有一个流程。

发布一个新的流程
1.创建一个新的流程文件,并将此文件上传至动态部署接口。
例如:创建了一个流程定义Key为RequestLeaveApplyDynamicDeploy,名为请事假审批流程测试动态发布的流程。

将其上传至动态部署接口:

2.获取系统中的流程定义,可以看到新增的流程。

删除流程
通过deleteDeployment(String deploymentId, boolean cascade)方法删除部署的流程,其中第二个参数可选是否级联删除对应的流程实例,历史流程以及任务。
源码注释:Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.
@APIDesc("删除流程")
@GetMapping("/dynamic/remove/process")
public RspBase<Map<String, Object>> dynamicDeployProcess(@RequestParam String processKey) {
repositoryService.deleteDeployment(processKey, true);
return new RspBase<Map<String, Object>>().setCode(200).setMsg("删除流程成功").setData(null);
}将动态发布的流程删除。

查询后可看到动态发布的流程已经被删除了。

作者:yuanfun 创建时间:2025-01-08 16:15
最后编辑:yuanfun 更新时间:2025-01-16 13:51
最后编辑:yuanfun 更新时间:2025-01-16 13:51