以下是代码片段...
<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开始进程。启动过程后,将在数据库中创建第一个任务。
一旦第一个任务完成。数据库任务表说它已完成,但是未创建下一个/第二个人工任务。
可能是什么问题?
我通过用完整的方法再次调用以下代码段来解决了此问题。看起来ksession正在失去人工任务处理程序。
LocalHTWorkItemHandler humanTaskHandler = new LocalHTWorkItemHandler(taskService, ksession, OnErrorAction.RETHROW);
humanTaskHandler.connect();
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", humanTaskHandler);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句