可以说,您在工作流程中有一堆单独的任务。这些任务通过其属性进行了高层分组。当任务到达工作流中的特定ReceiveTask时,侦听器将检查其组中的所有任务是否都在ReceiveTask上。如果不是,则侦听器不执行任何操作。如果是,则发出该组中所有任务的信号,指示继续进行工作流中的下一步。

示例:每个任务代表一本书中的一页。当页面任务进入ReceiveTask时,将检查书中是否所有页面都在那里。如果是,他们都可以继续前进。如果没有,他们坐在那儿。

ReceiveTask上的Java侦听器向书中的其他页面发出信号以继续工作流的正确方法是什么?代码示例将非常有帮助。

似乎每个页面都在其自己的工作流实例中,并且WorkflowService.signal(pathID,transitionID)可能是使其他页面任务移动的方法,但是当我这样做时,我会遇到各种工作流程异常这个。

SEVERE: Error while closing command contextorg.activiti.engine.ActivitiException: org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener doesn't implement interface org.activiti.engine.delegate.ExecutionListener nor interface org.activiti.engine.delegate.JavaDelegate

对我来说没有多大意义。我是否遇到某种Activit交易问题?

使用Alfresco社区版4.2c

最佳答案

我没有直接得到答案,但是我在Alfresco Enterprise 4.1.2上遇到了完全相同的例外,几乎我发现的唯一参考是您在Alfresco论坛以及现在的问题。

在我看来,Activiti设计器中存在一个错误,该错误将任务侦听器放置在应该执行侦听器的位置。我直接使用XML,并将org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener更改为org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener,该特定错误消失了。

10-06 05:56