【camunda流程重新部署】camunda流程重新部署

camunda流程重新部署

前言

最近公司想要把那个改的不成样子的屎山工作流引擎换掉,于是乎我找了找市面上的开源流程引擎,最终定下用camunda,开发过程中查阅的资料发现大部分人部署是直接重新创建一个新的流程,没有直接基于老的流程定义进行修改的代码,找了半天没有收获,突然发现camunda modeler是可以基于rest api重新部署的,得嘞,还得自己动手,重新把camunda-bpm-platform-master的源码拉下来,然后找到了重新部署的方法

源码

先根据官方的restApi的路径和Deploy这个关键词定位到DeploymentResourceImpl.class,然后就发现了好东西,代码如下:

  protected DeploymentWithDefinitions tryToRedeploy(RedeploymentDto redeployment) {
   
    RepositoryService repositoryService = getProcessEngine().getRepositoryService();

    DeploymentBuilder builder = repositoryService.createDeployment();
    builder.nameFromDeployment(deploymentId);

    String tenantId = getDeployment().getTenantId();
    if (tenantId != null) {
   
      builder.tenantId(tenantId)
Camunda REST提供了一种方便的方法来部署流程。通过Camunda REST,开发人员可以使用HTTP请求将流程定义部署Camunda引擎中。 为了部署流程,首先需要使用POST请求创建一个新的部署。请求的URL应该是`/deployment/create`。请求体中,我们需要提供流程定义文件的详细信息,例如BPMN文件的名称、位置和版本等。可以选择性地提供其他的参数,例如部署名称和分类。 成功创建部署后,服务器将返回一个包含了部署ID和其他相关信息的响应。这个部署ID可以用来访问和管理这个部署。 接下来,我们可以使用GET请求访问`/deployment`来获取所有已部署流程。这个请求将返回一个包含了所有部署的列表。我们可以使用部署ID、部署名称、部署时间和分类等参数来过滤结果。 如果我们需要获取特定部署的详细信息,可以使用GET请求访问`/deployment/{deploymentId}`,其中`{deploymentId}`是要获取信息的部署的ID。 另外,我们还可以使用GET请求来获取已部署流程定义。通过访问`/deployment/{deploymentId}/resources`,我们可以获取到指定部署ID下的所有流程定义资源。同样,我们可以使用参数来过滤结果。 最后,如果需要删除一个已部署部署,可以使用DELETE请求访问`/deployment/{deploymentId}`。这将会删除指定ID的部署以及与之关联的所有流程定义。 总之,通过Camunda REST,我们可以使用HTTP请求方便地部署、访问和管理流程定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值