JBPM Consecutive process instances do not reach human task
suchinder.singh Jan 20, 2014 9:46 AMHi Guys,
I am facing an issue where consecutive process instances do not reach human task. I have a workflow with two human tasks connected to each other (picture attached). I start two process instances consecutively. Both the process instances reach the first human task and I can see them in the tasks assigned to the actor of the first human task. Then I proceed them to the second human task. But only the first process instance reaches the second human task, and I see only one task assigned to the actor of the second human task. I am attaching my source code as well.
Many Thanks
Code to view tasks assigned to actor
TaskClient client = new TaskClient(new MinaTaskClientConnector("client 1",
new MinaTaskClientHandler(SystemEventListenerFactory.getSystemEventListener())));
client.connect("127.0.0.1", 9123);
BlockingTaskSummaryResponseHandler taskSummaryResponseHandler = new BlockingTaskSummaryResponseHandler();
client.getTasksAssignedAsPotentialOwner(actor, "en-UK", taskSummaryResponseHandler);
taskSummaryResponseHandler.waitTillDone(MAX_WAIT_TIME);
List<TaskSummary> tasks = taskSummaryResponseHandler.getResults();
Code to proceed human task
TaskClient client = new TaskClient(new MinaTaskClientConnector("client 1",
new MinaTaskClientHandler(SystemEventListenerFactory.getSystemEventListener())));
client.connect("127.0.0.1", 9123);
BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
client.start( taskid, userid, responseHandler );
responseHandler.waitTillDone(MAX_WAIT_TIME);
responseHandler = new BlockingTaskOperationResponseHandler();
client.complete( taskid, userid, null, responseHandler );
responseHandler.waitTillDone(MAX_WAIT_TIME);
Code to start process
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newInputStreamResource(bpmnStream), ResourceType.BPMN2);
KnowledgeBase kbase = kbuilder.newKnowledgeBase();
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
MinaHTWorkItemHandler humanTaskHandler = new MinaHTWorkItemHandler(ksession);
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", humanTaskHandler);
ProcessInstance process = ksession.startProcess(processname, null);
