Sameeh Harfoush [
http://community.jboss.org/people/sameeh.harfoush] created the
discussion
"NullPointerException when timeout transition maps to a Java activity"
To view the discussion, visit:
http://community.jboss.org/message/534568#534568
--------------------------------------------------------------
Hello,
Below is a section of a workflow I am working on
When triggering the timer the transition “Manager timeout” goes to the java activity
“Send timesheet to accounts” and executes the “manageTimesheet” method which only executes
System.out to the console. All goes well but I always get the below null pointer
exception.
I tried mapping the transition to other than java task it works fine. The problem is in my
implantation or the jpdl Timer?
Thanks
<task g="105,159,156,52" name="Manager reviews
timesheet">
<assignment-handler>
<field name="assignee">
<string value="Mahmoud" />
</field>
</assignment-handler>
<transition g="433,186;435,673:-43,-16" name="Manager
timeout" to="Send timesheet to accounts">
<timer duedate="1 hour" />
</transition>
<transition g="-68,-18" name="Manager decision"
to="Manager evaluation" />
</task>
<decision g="159,267,48,48" name="Manager evaluation">
<handler />
<transition g="-93,-11" name="Approve" to="Send
timesheet to accounts" />
<transition g="348,292;352,673:-82,-206" name="Reject"
to="Employee submits timesheet" />
</decision>
<java g="102,356,163,52"
method="manageTimesheet" name="Send timesheet to
accounts">
<transition g="-83,-8" name="to Bookkeeper"
to="Bookkeeper reviews and posts timesheet" />
</java>
### EXCEPTION ###########################################
10:25:51,983 SEV | [ExecuteJobCmd] exception while executing
'timer[550012|2010-03-30 11:25:51,000|Manager timeout]'
java.lang.NullPointerException
at
org.jbpm.pvm.internal.wire.usercode.UserCodeReference.getProcessDefinition(UserCodeReference.java:75)
at
org.jbpm.pvm.internal.wire.usercode.UserCodeReference.getObject(UserCodeReference.java:60)
at
org.jbpm.pvm.internal.wire.usercode.UserCodeReference.getObject(UserCodeReference.java:51)
at
org.jbpm.pvm.internal.model.ExecutionImpl.initializeAssignments(ExecutionImpl.java:759)
at org.jbpm.jpdl.internal.activity.TaskActivity.execute(TaskActivity.java:95)
at org.jbpm.jpdl.internal.activity.TaskActivity.execute(TaskActivity.java:58)
at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60)
at
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:656)
at
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:616)
at
org.jbpm.pvm.internal.model.op.TransitionEndActivity.perform(TransitionEndActivity.java:58)
at
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:656)
at
org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:616)
at org.jbpm.pvm.internal.model.ExecutionImpl.signal(ExecutionImpl.java:417)
at org.jbpm.pvm.internal.model.ExecutionImpl.signal(ExecutionImpl.java:403)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at
org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_5.signal(ExecutionImpl_$$_javassist_5.java)
at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:91)
at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:52)
at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:76)
at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:42)
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.SkipInterceptor.execute(SkipInterceptor.java:43)
at
org.jbpm.pvm.internal.svc.ManagementServiceImpl.executeJob(ManagementServiceImpl.java:37)
at
com.roxana.test.jpdl.EmployeeTimesheetTest.testEmployeeTimesheetWorkflow(EmployeeTimesheetTest.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:164)
at org.jbpm.test.BaseJbpmTestCase.runTest(BaseJbpmTestCase.java:80)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/534568#534568]
Start a new discussion in jBPM at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]