jbpm 5.4任务已完成但未创建下一个任务

时间:2014-09-24 00:43:06

标签: jbpm

以下是代码片段......

 <bean id="systemEventListener" class="org.drools.SystemEventListenerFactory" factory-method="getSystemEventListener" />

    <bean id="internalTaskService" class="org.jbpm.task.service.TaskService" >
            <constructor-arg index="0" ref="jbpmEMF"/>  
            <constructor-arg index="1" ref="systemEventListener" />
    </bean>

LocalHTWorkItemHandler humanTaskHandler = new LocalHTWorkItemHandler(taskService, ksession, OnErrorAction.RETHROW);
        humanTaskHandler.connect();
        ksession.getWorkItemManager().registerWorkItemHandler("Human Task", humanTaskHandler);


public void completeTask(Long taskId, String userId, Object result) {
    BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
    Map<String, Object> taskVars = (null != result) ? (HashMap<String, Object>) result : Collections.EMPTY_MAP;
    taskService.completeWithResults(taskId, userId, taskVars);      

}

我有两步人工任务流程。完成第一项任务后,我面临着奇怪的问题。

我可以使用创建的ksession启动进程。启动后,首先在数据库中创建任务。

第一个任务完成后。数据库任务表说它已完成,但未创建下一个/第二个人工任务。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我通过在完整方法中再次调用下面的代码段解决了这个问题。看起来ksession正在失去人工任务处理程序。

LocalHTWorkItemHandler humanTaskHandler = new LocalHTWorkItemHandler(taskService, ksession, OnErrorAction.RETHROW);
        humanTaskHandler.connect();
        ksession.getWorkItemManager().registerWorkItemHandler("Human Task", humanTaskHandler);