JBoss Community

ObjectNotFoundException in JBPM process

created by Abdul Rahman Kunhi Ahamed in jBPM Development - View the full discussion

Hi Guys,

 

At times when JBPM tries to trigger a timed state it throws a hibernate exception.

 

The exception is logged in the table JBPM4_JOB as shown below

 

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [org.jbpm.pvm.internal.model.ExecutionImpl#306479]

                at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:409)

                at org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:108)

                at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:97)

                at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140)

                at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)

                at org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_5.toString(ExecutionImpl_$$_javassist_5.java)

                at java.lang.String.valueOf(String.java:2827)

                at java.lang.StringBuilder.append(StringBuilder.java:115)

                at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:119)

                at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:1)

                at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:76)

                at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:1)

                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.jobexecutor.JobParcel.run(JobParcel.java:48)

                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:885)

 

The state of the job is changed to ‘error’.

 

 

Upon checking the JBPM4_EXECUTION there is no entry in the table releated to the job which the jbpm tries to execute.

 

Also this scenario is hard to recreate as we are not sure why the row is not inserted or getting deleted in the JBPM4_EXECUTION table.

 

Any help will be greatly appreciated.

 

I am using Weblogic 10.3 with JSF,SEAM and JBPM 4.2 and Oracle as the db

 

 

Thanks in advance

Abdul

Reply to this message by going to Community

Start a new discussion in jBPM Development at Community