gpt4 book ai didi

Camunda 流程定义通过 API 部署

转载 作者:行者123 更新时间:2023-12-01 21:24:15 26 4
gpt4 key购买 nike

我正在尝试使用以下代码从文件部署流程定义

    DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().name(definitionName);
deploymentBuilder.addInputStream(definitionName, definitionFileInputStream);
String deploymentId = deploymentBuilder.deploy().getId();
System.out.println(deploymentId);

以上代码运行成功,并打印出新的deploymentId。

后来,我尝试使用以下代码列出已部署的流程定义

    List<ProcessDefinition> definitions = repositoryService.createProcessDefinitionQuery().list();
System.out.println(definitions.size());

上面的代码运行成功,但输出始终为0。

我做了一些调查,发现在 ACT_GE_BYTEARRAY 表中存在具有相应 deploymentId 的条目,并且 BYTES_ 列包含该条目定义文件的内容。

我还发现在 ACT_RE_PROCDEF 表中没有找到相应的条目。

有什么乱七八糟的事情吗?从 API 和示例来看,我发现上面的代码似乎就足够了,还是缺少一步?

感谢您的帮助

最佳答案

事实证明,该问题与definitionName (thanks thorben!)有关。因为它必须以 .bpmn20.xml.bpmn 结尾。

经过进一步测试,代码下面的definitionName需要后缀

    deploymentBuilder.addInputStream(definitionName, definitionFileInputStream);

保留以下 definitionName 不带后缀即可

    repositoryService.createDeployment().name(definitionName);

关于Camunda 流程定义通过 API 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44518759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com