Dynamic Meta
Dynamic Meta

Reputation: 71

jbpm 5.4 task completed but next task not created

Below are snippet of code...

 <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);      

}

I have two step human task process. I am facing strange problem upon complete of first task.

I am able to start process with created ksession. After start process first task getting created in database.

Once first Task get completed. Database Task table says it completed but next/2nd human task not being created.

What could be the issue?

Upvotes: 0

Views: 444

Answers (1)

Dynamic Meta
Dynamic Meta

Reputation: 71

I solved this problem by recalling below snippet again in complete method. Looks like ksession was loosing human task handler.

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

Upvotes: 0

Related Questions