<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
JBPM Exception when running workflow
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/stevesitton">Stephen Sitton</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/550350#550350">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi Guys,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><div id="_mcePaste"> </div><div id="_mcePaste">I'm pretty new to jBPM and am seeing a couple of issues that hopefully someone can help with.</div><div> </div><div id="_mcePaste"> </div><div id="_mcePaste">I have a workflow that basically parses a set of XML files and moves these to different directories depending on the stage of the processing and the overall outcome.  If there is only one file to process this workflow is fine but once I add another file I start seeing exceptions from JBPM.</div><div> </div><div>JBPM: 4.0 (but have also tried 4.2 with the same errors)</div><div>Spring 3</div><div>JBoss 5.0.1GA</div><div> </div><div id="_mcePaste"> </div><div id="_mcePaste">My workflow is setup as:</div><div> </div><div id="_mcePaste" style="padding-left: 30px; "><?xml version="1.0" encoding="UTF-8"?></div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "><span><process id="settlementProcessor" name="settlementProcessor" xmlns="</span><a class="jive-link-external-small" href="http://jbpm.org/4.0/jpdl" target="_blank">http://jbpm.org/4.0/jpdl</a><span>"></span></div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <start name="start1" g="236,45,48,48"></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="to localGetSettlementFileChecker" to="localGetSettlementFileChecker" g="-135,-22"/></div><div id="_mcePaste" style="padding-left: 30px; ">    </start></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <decision name="localGetSettlementFileChecker"></div><div id="_mcePaste" style="padding-left: 30px; ">        <handler></div><div id="_mcePaste" style="padding-left: 30px; ">             <field name="fromVariable"><string value="farDirectoryFiles"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">        </handler></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="yes" to="moveFileDownloadAct" /></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="no" to="t_end" /></div><div id="_mcePaste" style="padding-left: 30px; ">    </decision></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <custom name="moveFileDownloadAct" g="185,140,133,52"   class="com.workFlowProcessor.actions.MoveFileActivity"></div><div id="_mcePaste" style="padding-left: 30px; ">      <field name="fromVariable"><string value="farDirectoryFiles"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">      <field name="toVariable"><string value="farDirectoryProcessing"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="to processSettlementAct" to="processSettlementAct" g="-54,-22"/></div><div id="_mcePaste" style="padding-left: 30px; ">    </custom></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <custom name="processSettlementAct" g="192,217,147,52" class="com.workFlowProcessor.actions.SettlementProcessorActivity"></div><div id="_mcePaste" style="padding-left: 30px; ">       <field name="directory"><string value="farDirectoryProcessing"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">       <transition name="to processFarActivities" to="processFarActivities" g="-133,-11"/></div><div id="_mcePaste" style="padding-left: 30px; ">    </custom></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <group name="processFarActivities"></div><div id="_mcePaste" style="padding-left: 30px; ">        <start></div><div id="_mcePaste" style="padding-left: 30px; ">            <transition to="convertDataToMsgAct" /></div><div id="_mcePaste" style="padding-left: 30px; ">        </start></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">        <custom name="convertDataToMsgAct"   class="com.workFlowProcessor.actions.SettlementDataConverterActivity"></div><div id="_mcePaste" style="padding-left: 30px; ">            <transition to="groupDoneAct" /></div><div id="_mcePaste" style="padding-left: 30px; ">        </custom></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">        <end name="groupDoneAct" /></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition to="t_join" /></div><div id="_mcePaste" style="padding-left: 30px; ">    </group></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <custom name="t_join"></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition to="farProcessChecker" /></div><div id="_mcePaste" style="padding-left: 30px; ">    </custom></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <decision name="farProcessChecker"></div><div id="_mcePaste" style="padding-left: 30px; ">        <handler class="com.workFlowProcessor.actions.SettlementFileChecker"  /></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="good" to="moveSuccessfulFileAct" /></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="bad" to="moveFailedFileAct" /></div><div id="_mcePaste" style="padding-left: 30px; ">    </decision></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <custom name="moveSuccessfulFileAct" g="185,140,133,52"    class="com.workFlowProcessor.actions.MoveFileActivity"></div><div id="_mcePaste" style="padding-left: 30px; ">        <field name="fromVariable"><string value="farDirectoryProcessing"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">        <field name="toVariable"><string value="farDirectorySuccess"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">        <field name="addTimestamp"><true /></field></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="to localGetSettlementFileChecker" to="localGetSettlementFileChecker" g="-54,-22"/></div><div id="_mcePaste" style="padding-left: 30px; ">    </custom></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <custom name="moveFailedFileAct" g="185,140,133,52"    class="com.afp.workFlowProcessor.actions.MoveFileActivity"></div><div id="_mcePaste" style="padding-left: 30px; ">        <field name="fromVariable"><string value="farDirectoryProcessing"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">        <field name="toVariable"><string value="farDirectoryFailure"/></field></div><div id="_mcePaste" style="padding-left: 30px; ">        <field name="addTimestamp"><true /></field></div><div id="_mcePaste" style="padding-left: 30px; ">        <transition name="to localGetSettlementFileChecker" to="localGetSettlementFileChecker" g="-54,-22"/></div><div id="_mcePaste" style="padding-left: 30px; ">    </custom></div><div style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; "> </div><div id="_mcePaste" style="padding-left: 30px; ">    <end name="t_end" g="234,468,48,48"/></div><div id="_mcePaste" style="padding-left: 30px; "></process></div><div> </div><div>This is the exception I'm getting:</div><div> </div><div id="_mcePaste"> </div><div id="_mcePaste"> </div><pre class="jive-pre"><code class="jive-code jive-java">10:18:25,155 INFO  [DefaultCommandService] exception <font color="navy"><b>while</b></font> executing command org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd@1e31239
java.lang.NullPointerException
at org.jbpm.pvm.internal.model.op.ExecuteEventListener.perform(ExecuteEventListener.java:68)
at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:655)
at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:615)
at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:215)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:65)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:38)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:54)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:70)
at com.playphone.alexander.afp.workFlowProcessor.WorkFlowProcess.run(WorkFlowProcess.java:62)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
10:18:25,157 ERROR [STDERR] java.lang.NullPointerException
10:18:25,157 ERROR [STDERR]      at org.jbpm.pvm.internal.model.op.ExecuteEventListener.perform(ExecuteEventListener.java:68)
10:18:25,157 ERROR [STDERR]      at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:655)
10:18:25,157 ERROR [STDERR]      at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:615)
10:18:25,157 ERROR [STDERR]      at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:215)
10:18:25,157 ERROR [STDERR]      at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:65)
10:18:25,157 ERROR [STDERR]      at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:38)
10:18:25,157 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
10:18:25,158 ERROR [STDERR]      at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:54)
10:18:25,158 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
10:18:25,158 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
10:18:25,158 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
10:18:25,158 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:70)
10:18:25,158 ERROR [STDERR]      at com.playphone.alexander.afp.workFlowProcessor.WorkFlowProcess.run(WorkFlowProcess.java:62)
10:18:25,158 ERROR [STDERR]      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
10:18:25,158 ERROR [STDERR]      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
10:18:25,158 ERROR [STDERR]      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
10:18:25,158 ERROR [STDERR]      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
10:18:25,158 ERROR [STDERR]      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
10:18:25,158 ERROR [STDERR]      at java.lang.Thread.run(Thread.java:619)
</code></pre><div> </div><div> </div><div id="_mcePaste"> </div><div id="_mcePaste">I am also seeing this exception on certain runs too:</div><div> </div><div id="_mcePaste"> </div><pre class="jive-pre"><code class="jive-code jive-java"> 10:36:21,846 INFO  [DefaultCommandService] exception <font color="navy"><b>while</b></font> executing command   org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd@11c8223
org.jbpm.api.JbpmException: processInstanceId is <font color="navy"><b>null</b></font>
at org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(DbSessionImpl.java:231)
at org.jbpm.pvm.internal.model.ExecutionImpl.end(ExecutionImpl.java:381)
at org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:82)
at org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:45)
at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)
at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:655)
at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:615)
at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:215)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:65)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:38)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:54)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:70)
at com.playphone.alexander.afp.workFlowProcessor.WorkFlowProcess.run(WorkFlowProcess.java:62)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
10:36:21,848 ERROR [STDERR] org.jbpm.api.JbpmException: processInstanceId is <font color="navy"><b>null</b></font>
10:36:21,849 ERROR [STDERR]      at org.jbpm.pvm.internal.hibernate.DbSessionImpl.deleteProcessInstance(DbSessionImpl.java:231)
10:36:21,849 ERROR [STDERR]      at org.jbpm.pvm.internal.model.ExecutionImpl.end(ExecutionImpl.java:381)
10:36:21,849 ERROR [STDERR]      at org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:82)
10:36:21,849 ERROR [STDERR]      at org.jbpm.jpdl.internal.activity.EndActivity.execute(EndActivity.java:45)
10:36:21,849 ERROR [STDERR]      at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)
10:36:21,849 ERROR [STDERR]      at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:655)
10:36:21,849 ERROR [STDERR]      at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:615)
10:36:21,849 ERROR [STDERR]      at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:215)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:65)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:38)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:54)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
10:36:21,850 ERROR [STDERR]      at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:70)
10:36:21,850 ERROR [STDERR]      at com.playphone.alexander.afp.workFlowProcessor.WorkFlowProcess.run(WorkFlowProcess.java:62)
10:36:21,851 ERROR [STDERR]      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
10:36:21,851 ERROR [STDERR]      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
10:36:21,851 ERROR [STDERR]      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
10:36:21,851 ERROR [STDERR]      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
10:36:21,851 ERROR [STDERR]      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
10:36:21,851 ERROR [STDERR]      at java.lang.Thread.run(Thread.java:619)
</code></pre><div> </div><div>Does anyone know what the problem could be?  I could try this out on 4.3/4.4 but would like to understand what the problem is before I do.</div><div> </div><div id="_mcePaste"> </div><div id="_mcePaste">Any help is much appreciated.</div><div id="_mcePaste"> </div><div id="_mcePaste">Steve</div></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/550350#550350">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>