"JbpmJUnitTestCase" is calling 'abortWorkItem' when task completes and thus it causes the 'task parameter' to 'process variable' mapping to fail
Issue
- We have a JUnit test class which extends
JbpmJUnitTestCase
where we are creating aTaskService
like the following way:
TaskService taskService = getTaskService(ksession);
Everything goes well with claiming and starting the task like this:
taskService.claim(task.getId(), "xxx", groupIds);
taskService.start(task.getId(), "xxx");
But after that we have observed that the task parameter
to process variable
mapping seems to be failing which results in a java.lang.NullPointerException
, something like the one given below.
java.lang.NullPointerException
at org.drools.bpmn2.Process_org_drools_bpmn2_Hello_World_2.action2(Process_org_drools_bpmn2_Hello_World_2.java:26)
at org.drools.bpmn2.Process_org_drools_bpmn2_Hello_World_2Action2Invoker.execute(Process_org_drools_bpmn2_Hello_World_2Action2Invoker.java:16)
at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.executeAction(ExtendedNodeInstanceImpl.java:68)
at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerEvent(ExtendedNodeInstanceImpl.java:58)
at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:46)
at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:162)
at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:143)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:239)
at org.jbpm.workflow.instance.node.HumanTaskNodeInstance.triggerCompleted(HumanTaskNodeInstance.java:90)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemAborted(WorkItemNodeInstance.java:293)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:279)
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:338)
at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.abortWorkItem(JPAWorkItemManager.java:154)
at org.drools.command.runtime.process.AbortWorkItemCommand.execute(AbortWorkItemCommand.java:56)
at org.drools.command.runtime.process.AbortWorkItemCommand.execute(AbortWorkItemCommand.java:29)
at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:355)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.abortWorkItem(CommandBasedStatefulKnowledgeSession.java:156)
at org.jbpm.process.workitem.wsht.SyncWSHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(SyncWSHumanTaskHandler.java:378)
at org.jbpm.process.workitem.wsht.SyncWSHumanTaskHandler$TaskCompletedHandler.execute(SyncWSHumanTaskHandler.java:319)
at org.jbpm.task.service.local.LocalTaskService$SimpleEventTransport.trigger(LocalTaskService.java:287)
at org.jbpm.task.event.MessagingTaskEventListener.taskCompleted(MessagingTaskEventListener.java:73)
at org.jbpm.task.event.TaskEventSupport.fireTaskCompleted(TaskEventSupport.java:47)
at org.jbpm.task.service.TaskServiceSession.postTaskCompleteOperation(TaskServiceSession.java:502)
at org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession.java:469)
at org.jbpm.task.service.local.LocalTaskService.complete(LocalTaskService.java:76)
at com.sample.TestingProcess_BUG.testProcess(TestingProcess_BUG.java:113)
...
Can you please guide us how to solve this issue?
Environment
- JBoss Enterprise Business Rules Rules Management System Platform (BRMS)
- 5.3.0
- jBPM
- 5.2
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.