我从activiti explorer(社区版)迁移到alfresco activiti企业。 一切顺利,但现在当一个进程使用以下代码启动一个新的TTSProcess时:
runtimeService.startProcessInstanceByKey("TTSProcess", variables);
我收到以下错误: org.activiti.engine.ActivitiObjectNotFoundException:没有使用键'TTSProcess'部署的进程
这适用于activiti explorer实例......但不适用于Alfresco activiti企业套件
我将我的进程从bpmn20.xml重命名为bpmn,但没有成功。
请帮帮我,
谢谢
我所做的确切步骤:
我使用我需要的流程创建了一个应用程序(在activiti-app UI中)。 之后,我发布了应用程序。 我可以看到我的应用程序已部署(在activiti-admin UI中),我的第一个进程开始运行。 部署了我要启动的第二个进程“TTSProcess”实例(参见截图) 我上传了两个截图来展示它。
activiti引擎仍然不想按键启动我的TTSProcess ...
注意:我正在使用H2数据库
同样重要的是:startProcessInstanceByID可以正常工作
答案 0 :(得分:0)
如果您非常确定您的alfresco activiti引擎指向与您的activiti explorer引擎相同的数据库,那么它可能是您部署过程中的问题。打开文件并仔细检查您的流程定义:
<process id="TTSProcess" name="TTS Process name" isExecutable="true">
...
</process>
重要的属性是id =&#34; TTSProcess &#34;,这是什么activiti作为API的关键
runtimeService.startProcessInstanceByKey("TTSProcess", variables);
答案 1 :(得分:0)
我知道我的问题太简单了,但我们应该确定这一点很明显。你在回购中检查了你的路径吗? 例如,你应该写,
repositoryService.createDeployment()
.addClasspathResource("diagrams/FinancialReportProcess.bpmn20.xml")
.deploy();
如果你的目的是:
的src /主/资源/图/ FinancialReportProcess.bpmn20.xml
您必须添加包,其中包括您的流程。
最后,您应该重新命名您的进程.bmpn20.xml。
答案 2 :(得分:0)
在调用startProcessInstanceByKey时需要添加tenant_id才能使其正常工作。 API有一个startProcessInstanceByKey重载,您可以在其中添加tenant_id