[jboss-user] [JBoss jBPM] - help ,error while use timer

start bomb do-not-reply at jboss.com
Thu Dec 4 02:03:13 EST 2008


this processdefinition:

  | <?xml version="1.0" encoding="UTF-8"?>
  | <process-definition  xmlns=""  name="tt">
  | 	<start-state name="start-state1">
  | 		<transition to="node4"></transition>
  | 	</start-state>
  | 	<state name="node4">
  | 		<timer duedate="10 second" name="aa" transition="timeout">
  | 			<script>
  | 				System.out.println(&quot;-----------------&gt;time out&quot;);
  | 			</script>
  | 		</timer>
  | 		<transition to="fork1" name="timeout"></transition>
  | 	</state>
  | 	<fork name="fork1">
  | 		<transition to="join1"></transition>
  | 	</fork>
  | 	<join name="join1">
  | 		<transition to="end-state1"></transition>
  | 	</join>  
  | 	<end-state name="end-state1"></end-state>
  | </process-definition>
  | 



while the timer 'aa' arrives the duedate,there will be a exception:

2008-12-04 14:53:05,737 [] ERROR def.AbstractFlushingEventListener - Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.job.Timer#43]
	at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1765)
	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2523)
	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2697)
	at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:74)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:146)
	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
	at org.jbpm.persistence.db.DbPersistenceService.commit(DbPersistenceService.java:260)
	at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:218)
	at org.jbpm.svc.Services.close(Services.java:223)
	at org.jbpm.JbpmContext.close(JbpmContext.java:139)
	at org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:193)
	at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)


but if the transition of the timer dosen't point to a fork,for example a state ,there won't have such exception. can angbody help me?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194216#4194216

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4194216



More information about the jboss-user mailing list