我正在尝试使用以下代码从文件部署流程定义
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().name(definitionName);
deploymentBuilder.addInputStream(definitionName, definitionFileInputStream);
String deploymentId = deploymentBuilder.deploy().getId();
System.out.println(deploymentId);
Run Code Online (Sandbox Code Playgroud)
上面的代码成功运行,并打印出新的deploymentId.
后来,我尝试使用以下代码列出已部署的流程定义
List<ProcessDefinition> definitions = repositoryService.createProcessDefinitionQuery().list();
System.out.println(definitions.size());
Run Code Online (Sandbox Code Playgroud)
上面的代码运行成功,但输出始终为0.
我做了一些调查,发现在ACT_GE_BYTEARRAY表中有一个相应deploymentId存在的条目,该BYTES_列包含定义文件的内容.
我还发现ACT_RE_PROCDEF表中没有相应的条目.
有什么东西搞乱吗?从API和我发现的例子看来上面的代码就足够了,或者是否有缺失的步骤?
谢谢你的帮助
原来,该问题涉及到definitionName (感谢thorben!) ,因为它必须在任结束.bpmn20.xml或.bpmn.
进一步测试后,下面definitionName的代码需要后缀
deploymentBuilder.addInputStream(definitionName, definitionFileInputStream);
Run Code Online (Sandbox Code Playgroud)
definitionName如果没有后缀,请保留以下内容
repositoryService.createDeployment().name(definitionName);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |