当前位置: 首页 > 知识库问答 >
问题:

如何在Flowable中执行高效的解部署过程

毕宏盛
2023-03-14

我怎么才能有效地执行这个。

public void deployResource(String resourceName, InputStream resourceStream, 
    String companyCode) {

    RepositoryService repoService = processEngine.getRepositoryService();
    DeploymentBuilder dbuilder = repoService.createDeployment();
    dbuilder.addInputStream(resourceName, resourceStream);
    dbuilder.name(resourceId);

    if (companyCode != null && !companyCode.isEmpty()) {
        logger.info("Setting Tenant ID with companyCode {}", companyCode);
        dbuilder.tenantId(companyCode);
    }
    dbuilder.deploy();
}

//这是取消部署的方法

 public void undeploy(String resourceName, String companyCode) {
    try {

        logger.debug(LogMarker.ENTRY, "Undeployment Process {} is Started for Resource Name{}", resourceName, companyCode);

        RepositoryService repoService = processEngine.getRepositoryService();

        List<ProcessDefinition> list = repoService.createProcessDefinitionQuery().processDefinitionResourceNameLike(resourceName)
            .processDefinitionTenantIdLike(companyCode).list();

        for (ProcessDefinition processDefinition : list) {
            repoService.deleteDeployment(processDefinition.getDeploymentId(), true);

            logger.debug(LogMarker.EXIT, "Undeployment Process {} is Successfully Completed for Resource Name{}", resourceName);
            break;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

共有1个答案

巫欣荣
2023-03-14

与其查询流程定义,为什么不查询部署

你可以做:

List<Deployment> deployments = repositoryService.createDeploymentQuery()
    .deploymentTenantId(companyCode)
    .processDefinitionKey(processDefinitionKey)
    .list();

然后可以删除这些部署。请记住,您当前的取消部署方式可能会删除与您的critieria不匹配的流程定义,但这些流程定义是另一个流程定义部署的一部分(您可以在每个部署中部署多个流程定义)。

 类似资料:
  • 我有maven surefire插件pom.xml: 现在我希望maven只在部署目标上执行测试,因此: 当执行mvn部署测试应该运行 当执行mvn包或mvn安装时,测试不应该运行,因为目标在部署之前

  • 对于 linkerd , 有两个常见的部署模型:每主机(per-host)和作为边车(sidecar)进程。 每主机 在每主机部署模型中,每个主机(无论是物理机还是虚拟机)部署一个 linkerd 实例,然后该主机上的所有应用程序服务实例都通过此实例路由流量。 该模型对于主要基于主机的部署是很有用的。主机上的每个服务实例可以在固定位置(通常为localhost:4140)定位其对应的 linker

  • 高可用部署 高可用架构 负载均衡可以用任何负载均衡方案 多个 Master 节点,多个 etcd 节点,多个计算节点 环境准备 类型 主机名 Administration bastion.example.com Support (NFS) support1.example.com LoadBalancer loadbalancer.example.com Master master1.exampl

  • 本文向大家介绍详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点,包括了详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点的使用技巧和注意事项,需要的朋友参考一下 上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访

  • 首先,我不确定必须在gwt-maven项目中部署哪些文件夹和文件:.gwt.settings bin src/main/java target war pom.xml