如何让一个Alfresco任务在Activiti工作流程中发出另一个Alfresco任务的信号?

时间:2013-04-17 13:27:36

标签: java alfresco activiti

假设您在工作流程中有许多单独的任务。这些任务通过其属性进行高级别分组。当任务到达工作流中的特定ReceiveTask时,侦听器会检查其组中的所有任务是否都在ReceiveTask中。如果没有,听众什么都不做。如果是,则表示该组中的所有任务都将发送到工作流程的下一步。

示例:每个任务代表书中的页面。当页面任务到达ReceiveTask时,会进行检查以查看书中的所有页面是否都在那里。如果是,他们都可以继续前进。如果没有,他们就坐在那里。

ReceiveTask上的Java侦听器指示书中其他页面在工作流程中继续发送的正确方法是什么?代码示例非常有用。

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

SEVERE: Error while closing command context org.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

1 个答案:

答案 0 :(得分:2)

我还没有直接得到答案,但我已经在Alfresco Enterprise 4.1.2上得到了完全相同的例外,而且我发现的唯一参考资料就是你的问题。 Alfresco论坛现在就在这里。

在我看来,Activiti设计师中存在一个错误,它将一个任务监听器放在执行监听器应该去的地方。我直接转到XML并将org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener更改为org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener,并且该特定错误消失了。