startProcessInstanceByKey 在 activiti 套件中不工作(alfresco activiti enterprise)

startProcessInstanceByKey not working in activiti suite (alfresco activiti enterprise)

我从 activiti explorer(社区版)迁移到 alfresco activiti enterprise。 一切顺利,但现在当进程使用以下代码启动新的 TTSProcess 时:

runtimeService.startProcessInstanceByKey("TTSProcess", variables);

我收到以下错误: org.activiti.engine.ActivitiObjectNotFoundException:没有使用密钥 'TTSProcess'

部署的进程

这适用于 activiti explorer 实例...但不适用于 Alfresco activiti 企业套件

我将流程从 bpmn20.xml 重命名为 bpmn 但没有成功。

请帮帮我,

谢谢


我执行的具体步骤:

我用我需要的流程创建了一个应用程序(在 activiti-app UI 中)。 之后,我发布了该应用程序。 我可以看到我的应用程序已部署(在 activiti-admin UI 中)并且我的第一个进程开始 运行。 我要启动的第二个进程 "TTSProcess" 实例已部署(见屏幕截图) 我已经上传了 2 个屏幕截图来展示它。

http://imgur.com/1lvfmv9

http://imgur.com/ZUObLYT

activiti引擎仍然不想按键启动我的TTSProcess...

注意:我使用的是 H2 数据库

同样重要:startProcessInstanceByID 有效

如果您非常确定您的 alfresco activiti 引擎指向与您的 activiti explorer 引擎相同的数据库,那么它可能是您部署过程中的问题。打开您的文件并仔细检查您的流程定义:

<process id="TTSProcess" name="TTS Process name" isExecutable="true">
...
</process>

重要的属性是id="TTSProcess",这是activiti在API

中作为键的

runtimeService.startProcessInstanceByKey("TTSProcess", variables);

我知道我的问题会太简单,但我们应该确保 obvious.Did 您检查了您的存储库中的路径? 例如,您应该写

repositoryService.createDeployment()
        .addClasspathResource("diagrams/FinancialReportProcess.bpmn20.xml")
        .deploy();

如果您的目录是:

src/main/resources/diagrams/FinancialReportProcess.bpmn20.xml

您必须添加包,其中包括您的过程。

最后,您应该再次重命名您的进程。bmpn20.xml。

您需要在调用 startProcessInstanceByKey 时添加 tenant_id 才能使其正常工作。 API 有一个 startProcessInstanceByKey 重载,您可以在其中添加 tenant_id