3 Replies Latest reply on Aug 9, 2013 2:00 AM by Maciej Swiderski

    JBPM 5.4 - Transaction Problems with completeWorkitem() when an EJB Exception occurs

    Newbie

      I have a scenario where WorkItem Handlers call EJBs to perform some business logic. If the EJB has an exception, I capture the exception in the Workitem Handler with a try/catch and change some value in the process variables. Most of this works except when the call the completeWorkitem is perfomed. The completeWorkitem doesn't commit the changes to the JBPM database and therefore when the process moves forward, the process variables seem to be null. I am using JTA for transaction processing. Any ideas?

       

      Below is the sample Workitem Handler code:

       

       

       

      public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {

           getLogger().debug("EFIHandler - Started");

           DQREJBLocal dqrEJBLocal = null;

          

           Context c; 

           String ejbName = (String) workItem.getParameter("ejbName");

           getLogger().debug("EFIHandler ejbName = " + ejbName);

           StartProcessInfo processData = (StartProcessInfo) workItem.getParameter("processData");

           efiData = (EFITransactionInfo) workItem.getParameter("efiTransactionData");

          

           getLogger().debug("EFIHandler Data:clearanceCaseKey = [" + processData.getClearanceCaseKey() + "] Process Instance ID = [" + Long.toString(processData.getProcessInstanceId())

                + "] Process Id = [" + Long.toString(processData.getProcessInstanceId()) + "]");   

        try {

         c = new InitialContext();

         //use the context to lookup the local interface.

         dqrEJBLocal =  (DQREJBLocal) c.lookup(ejbName);

         //now you can call any method exposed in the local interface.

         dqrEJBLocal.execute(efiData.getTransactionKey(),processData);

        

        } catch (NamingException e) {

         processData.setErrorMessage("EFIHandler Naming Exception = " + efiData.getTransactionType());

         getLogger().error("EFIHandler Naming Exception = " + efiData.getTransactionKey());

         processData.setErrorInd("Y");

         e.printStackTrace();

           } catch (Exception e) {

         processData.setErrorMessage("EFIHandler Exception for " + ejbName + " Transaction " + efiData.getTransactionType());

         getLogger().error("EFIHandler Exception for " + ejbName + " Transaction " + efiData.getTransactionType());

         processData.setErrorInd("Y");

         e.printStackTrace();

           } finally {

           getLogger().debug("EFIHandler After Exception");

        //Set any return data from the EJB

        Map<String,Object> results = new HashMap<String, Object> ();

        results.put("processData", processData);

        results.put("efiTransactionData", efiData);

        getLogger().debug("EFIHandler before Complete");

        manager.completeWorkItem(workItem.getId(), results);

              getLogger().debug("EFIHandler - Completed"); 

           }

          }

       

       

      Here is the exception:

       

      [8/2/13 8:42:44:888 EDT] 0000002d SystemOut     O 2013-08-02 08:42:44,888   DEBUG [MessageListenerThreadPool : 0] - EFIHandler - Started
      [8/2/13 8:42:44:888 EDT] 0000002d SystemOut     O 2013-08-02 08:42:44,888   DEBUG [MessageListenerThreadPool : 0] - EFIHandler ejbName = ejblocal:gov.ssa.dqr.ejbInterfaces.SendEFITransactionLocal
      [8/2/13 8:42:44:888 EDT] 0000002d SystemOut     O 2013-08-02 08:42:44,888   DEBUG [MessageListenerThreadPool : 0] - EFIHandler Data:clearanceCaseKey = [caseclaim.ClearanceCaseDetailKey~ID=310] Process Instance ID = [298] Process Id = [298]
      [8/2/13 8:42:44:898 EDT] 0000002d SystemOut     O 2013-08-02 08:42:44,898   DEBUG [MessageListenerThreadPool : 0] - SendEFITransaction.execute Started. Key = 56
      [8/2/13 8:42:44:898 EDT] 00000085 BusinessExcep E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "execute" on bean "BeanId(dqr#dqrEJBServices.jar#SendEFITransaction, null)". Exception data: java.lang.NumberFormatException: For input string: "caseclaim.ClearanceCaseDetailKey~ID=310"
      at java.lang.NumberFormatException.forInputString(NumberFormatException.java:59)
      at java.lang.Integer.parseInt(Integer.java:460)
      at java.lang.Integer.valueOf(Integer.java:565)
      at gov.ssa.dqr.efi.SendEFITransaction.execute(SendEFITransaction.java:33)
      at gov.ssa.dqr.ejbInterfaces.EJSLocal0SLSendEFITransaction_d882285a.execute(EJSLocal0SLSendEFITransaction_d882285a.java)
      at gov.ssa.dqr.services.workflow.WorkItemHandlers.EFIHandlerException.executeWorkItem(EFIHandlerException.java:49)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:55)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:107)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:216)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:196)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:247)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:309)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:285)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:342)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:121)
      at gov.ssa.dqr.services.workflow.WorkItemHandlers.EFIHandlerException.executeWorkItem(EFIHandlerException.java:74)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:55)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:107)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.JoinInstance.triggerCompleted(JoinInstance.java:152)
      at org.jbpm.workflow.instance.node.JoinInstance.internalTrigger(JoinInstance.java:52)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:55)
      at org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:51)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
      at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
      at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:194)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:309)
      at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:170)
      at org.drools.common.AbstractWorkingMemory.startProcessInstance(AbstractWorkingMemory.java:1108)
      at org.drools.impl.StatefulKnowledgeSessionImpl.startProcessInstance(StatefulKnowledgeSessionImpl.java:330)
      at org.jbpm.workflow.instance.node.SubProcessNodeInstance.internalTrigger(SubProcessNodeInstance.java:142)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
      at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance.internalTrigger(CompositeNodeInstance.java:103)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.node.ForEachNodeInstance$ForEachSplitNodeInstance.internalTrigger(ForEachNodeInstance.java:131)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance$CompositeNodeStartInstance.triggerCompleted(CompositeNodeInstance.java:263)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance$CompositeNodeStartInstance.internalTrigger(CompositeNodeInstance.java:259)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance.internalTrigger(CompositeNodeInstance.java:91)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:216)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:196)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:247)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:309)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:285)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:342)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:121)
      at gov.ssa.dqr.services.workflow.WorkItemHandlers.EFIListHandler.executeWorkItem(EFIListHandler.java:58)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:55)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:107)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
      at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
      at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:194)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:309)
      at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:170)
      at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:140)
      at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1098)
      at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:320)
      at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:120)
      at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:39)
      at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
      at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:373)
      at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:223)
      at gov.ssa.dqr.mdb.StartProcessBean.onMessage(StartProcessBean.java:107)
      at com.ibm.ejs.jms.listener.MDBWrapper$PriviledgedOnMessage.run(MDBWrapper.java:302)
      at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63)
      at com.ibm.ejs.jms.listener.MDBWrapper.callOnMessage(MDBWrapper.java:271)
      at com.ibm.ejs.jms.listener.MDBWrapper.onMessage(MDBWrapper.java:240)
      at com.ibm.mq.jms.MQSession$FacadeMessageListener.onMessage(MQSession.java:147)
      at com.ibm.msg.client.jms.internal.JmsSessionImpl.run(JmsSessionImpl.java:2846)
      at com.ibm.mq.jms.MQSession.run(MQSession.java:862)
      at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:1055)
      at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:1082)
      at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:752)
      at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:718)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:611)
      at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:47)
      at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:98)
      at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:136)
      at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:574)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)

      [8/2/13 8:42:45:612 EDT] 00000085 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on D:\Programs\IBM\SDP\runtimes\base_v7\profiles\DQR\logs\ffdc\server1_3b183b18_13.08.02_08.42.44.9083946932888613500703.txt com.ibm.ejs.container.BusinessExceptionMappingStrategy.setUncheckedException 506
      [8/2/13 8:42:49:888 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,878   ERROR [MessageListenerThreadPool : 0] - EFIHandler Exception for ejblocal:gov.ssa.dqr.ejbInterfaces.SendEFITransactionLocal Transaction 0023
      [8/2/13 8:42:49:878 EDT] 00000085 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on D:\Programs\IBM\SDP\runtimes\base_v7\profiles\DQR\logs\ffdc\server1_3b183b18_13.08.02_08.42.45.6121281229631215442052.txt com.ibm.ejs.container.EJSContainer.postInvoke 2326
      [8/2/13 8:42:49:913 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,912   DEBUG [MessageListenerThreadPool : 0] - EFIHandler After Exception
      [8/2/13 8:42:49:913 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,912   DEBUG [MessageListenerThreadPool : 0] - EFIHandler before Complete
      [8/2/13 8:42:49:927 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Looking for a JTA transaction to join
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Transaction already joined
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - delaying identity-insert due to no transaction in progress
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Looking for a JTA transaction to join
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Transaction already joined
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - delaying identity-insert due to no transaction in progress
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Looking for a JTA transaction to join
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Transaction already joined
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - delaying identity-insert due to no transaction in progress
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Looking for a JTA transaction to join
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Transaction already joined
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - delaying identity-insert due to no transaction in progress
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Looking for a JTA transaction to join
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Transaction already joined
      [8/2/13 8:42:49:928 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - delaying identity-insert due to no transaction in progress
      [8/2/13 8:42:49:929 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Looking for a JTA transaction to join
      [8/2/13 8:42:49:929 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - Transaction already joined
      [8/2/13 8:42:49:929 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - delaying identity-insert due to no transaction in progress
      [8/2/13 8:42:49:929 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,914   DEBUG [MessageListenerThreadPool : 0] - delaying identity-insert due to no transaction in progress
      [8/2/13 8:42:49:930 EDT] 0000002d SystemOut     O 2013-08-02 08:42:49,915   ERROR [MessageListenerThreadPool : 0] - Could not commit session
      org.jbpm.workflow.instance.WorkflowRuntimeException: [gov.ssa.clearance.buildsendefisubprocess:298 - Error:5] -- null
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:132)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.JoinInstance.triggerCompleted(JoinInstance.java:152)
      at org.jbpm.workflow.instance.node.JoinInstance.internalTrigger(JoinInstance.java:52)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:287)
      at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:100)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:216)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:196)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:247)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:309)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:285)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:342)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:121)
      at gov.ssa.dqr.services.workflow.WorkItemHandlers.EFIHandlerException.executeWorkItem(EFIHandlerException.java:74)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:55)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:107)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:216)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:196)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:247)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:309)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:285)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:342)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:121)
      at gov.ssa.dqr.services.workflow.WorkItemHandlers.EFIHandlerException.executeWorkItem(EFIHandlerException.java:74)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:55)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:107)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.JoinInstance.triggerCompleted(JoinInstance.java:152)
      at org.jbpm.workflow.instance.node.JoinInstance.internalTrigger(JoinInstance.java:52)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:55)
      at org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:51)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
      at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
      at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:194)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:309)
      at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:170)
      at org.drools.common.AbstractWorkingMemory.startProcessInstance(AbstractWorkingMemory.java:1108)
      at org.drools.impl.StatefulKnowledgeSessionImpl.startProcessInstance(StatefulKnowledgeSessionImpl.java:330)
      at org.jbpm.workflow.instance.node.SubProcessNodeInstance.internalTrigger(SubProcessNodeInstance.java:142)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
      at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance.internalTrigger(CompositeNodeInstance.java:103)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.node.ForEachNodeInstance$ForEachSplitNodeInstance.internalTrigger(ForEachNodeInstance.java:131)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance$CompositeNodeStartInstance.triggerCompleted(CompositeNodeInstance.java:263)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance$CompositeNodeStartInstance.internalTrigger(CompositeNodeInstance.java:259)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.node.CompositeNodeInstance.internalTrigger(CompositeNodeInstance.java:91)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:216)
      at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:196)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:247)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:309)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:285)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:342)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:121)
      at gov.ssa.dqr.services.workflow.WorkItemHandlers.EFIListHandler.executeWorkItem(EFIListHandler.java:58)
      at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:55)
      at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:107)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:279)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:238)
      at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)
      at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
      at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:194)
      at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:309)
      at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:170)
      at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:140)
      at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1098)
      at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:320)
      at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:120)
      at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:39)
      at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
      at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:373)
      at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:223)
      at gov.ssa.dqr.mdb.StartProcessBean.onMessage(StartProcessBean.java:107)
      at com.ibm.ejs.jms.listener.MDBWrapper$PriviledgedOnMessage.run(MDBWrapper.java:302)
      at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63)
      at com.ibm.ejs.jms.listener.MDBWrapper.callOnMessage(MDBWrapper.java:271)
      at com.ibm.ejs.jms.listener.MDBWrapper.onMessage(MDBWrapper.java:240)
      at com.ibm.mq.jms.MQSession$FacadeMessageListener.onMessage(MQSession.java:147)
      at com.ibm.msg.client.jms.internal.JmsSessionImpl.run(JmsSessionImpl.java:2846)
      at com.ibm.mq.jms.MQSession.run(MQSession.java:862)
      at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:1055)
      at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSession.java:1082)
      at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:752)
      at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:718)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:611)
      at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDispatcher.java:47)
      at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:98)
      at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:136)
      at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:574)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)
      Caused by: java.lang.NullPointerException
      at org.jbpm.persistence.processinstance.JPAProcessInstanceManager.addProcessInstance(JPAProcessInstanceManager.java:58)
      at org.jbpm.process.instance.AbstractProcessInstanceFactory.createProcessInstance(AbstractProcessInstanceFactory.java:36)
      at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:184)
      at org.jbpm.process.instance.ProcessRuntimeImpl.createProcessInstance(ProcessRuntimeImpl.java:156)
      at org.drools.common.AbstractWorkingMemory.createProcessInstance(AbstractWorkingMemory.java:1104)
      at org.drools.impl.StatefulKnowledgeSessionImpl.createProcessInstance(StatefulKnowledgeSessionImpl.java:326)
      at org.jbpm.workflow.instance.node.SubProcessNodeInstance.internalTrigger(SubProcessNodeInstance.java:137)
      at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:126)
      ... 128 more