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

时间:2016-02-19 08:24:34

标签: alfresco activiti bpmn

我从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”实例(参见截图) 我上传了两个截图来展示它。

http://imgur.com/1lvfmv9

http://imgur.com/ZUObLYT

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

注意:我正在使用H2数据库

同样重要的是:startProcessInstanceByID可以正常工作

3 个答案:

答案 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