"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
JbpmJUnitTestCasewhere we are creating aTaskServicelike 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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
